2014-11-06 212 views
0

我有一个R脚本可以在一条染色体上执行分析。我想为每个染色体重复运行此脚本(1-22,X和Y)。现在我已经设置了脚本来接受命令行中的一个参数,染色体编号。我想同时向我的服务器提交多个作业,因为一个染色体的分析需要几个小时。在玩弄了一些选项并搜索了所有内容之后,我仍然不确定最佳选择是什么,因为我从未将任务并入服务器(Sun Grid Engine服务器)。我看着GNU parallel,但我不确定如何使用它,或者它甚至运行R脚本。也许把所有东西都放在shell脚本中并提交给服务器?这是一个非常基本的问题,但任何方向将不胜感激!使用命令行参数并行运行多个R脚本

+0

你读过https://www.biostars.org/p/63816/ pi.dk/1 pi.dk/4 – 2014-11-06 19:35:15

+0

显示你现在怎么办的代码示例。 – 2014-11-06 19:36:26

+0

是的,我现在实际上已经打开了这个窗口。那么这种方法将与R脚本一起工作?现在我没有任何东西我只知道我可以使用'Rscript plot_LRR_BAF_chromosome_parallel ' – kinsigne 2014-11-06 19:45:28

回答

0
parallel Rscript plot_LRR_BAF_chromosome_parallel ::: {1..22} X Y 
+0

从命令行调用此命令似乎正常工作。我试图将它提交给服务器,但是当我从.sh脚本中或直接从'qsub 并行Rscript plot_LRR_BAF_chromosome_parallel ::: {1..22} XY'调用它时,它说'无法读取脚本文件由于错误:打开并行的错误:没有这样的文件或目录。有任何想法吗? – kinsigne 2014-11-06 22:32:31

+0

显示通常情况下qsub作业的示例。 – 2014-11-07 00:04:38

0

使用GNU 使与选项-j,与染色体的名字你的[R脚本替换__CHROM__

chroms=1 2 3 4 5 6 7 8 9 10 

define method1 

$$(addsuffix .out,$(1)) : script.R 
    cat $$< | sed 's/__CHROM__/$(1)/g' | R --nosave > [email protected] 

endef 

all: $(addsuffix .out,$(chroms)) 

$(foreach C, $(chroms),$(eval $(call method1, $(C))))