我有一个对一条染色体执行分析的R脚本。我想对每条染色体(1-22,X和Y)重复运行此脚本。现在,我已经将脚本设置为接受来自命令行的一个参数,即染色体编号。我想并行地向服务器提交多个作业,因为分析一个染色体需要几个小时。在尝试了一些选项并在谷歌上搜索了所有内容之后,我仍然不确定最好的选择是什么,因为我从来没有将作业并行提交到服务器(Sun Grid Engine服务器)。我研究了GNU parallel
,但我不确定如何使用它,或者它是否可以运行R脚本。也许把所有东西都放在一个shell脚本中,然后提交给服务器?这是一个非常基本的问题,但任何方向将不胜感激!
3条答案
按热度按时间s1ag04yj1#
ql3eal8s2#
使用带有
-j
选项的GNUmake,将R脚本中的__CHROM__
替换为染色体名称。n3schb8v3#
Rstudio有一种非常可靠、简单和直观的方式来运行并行脚本,称为后台作业。下面的link解释了如何使用它,但总的来说,每次你运行一个脚本,它都是并行运行的,使用多个内核,而且通常运行得更快(如果CPU和RAM不是超级忙碌的话)。有两种方法可以使用后台作业,手动和脚本:
1.手动方式:你只需打开 * 后台作业 * 并选择脚本和工作目录。然后,您可以选择是否保存全局环境。如果您的脚本已经将对象导出或保存在本地,则不必担心。例如,您可以使用染色体1到7运行脚本,然后将值从8更改为15保存脚本并运行后台作业,第三个脚本从16更改为22。这样你就可以并行运行它,但请检查CPU或RAM不要运行在太接近100%的值。
1.脚本的方式:你可以使用JobRunScript来创建带有代码的后台作业。因此,您可以从脚本中自动执行所需的更改。