我有一个R脚本,可以在一条染色体上进行分析。我想为每条染色体重复运行这个脚本(1-22,X和Y)。现在我将脚本设置为从命令行接受一个参数,即染色体编号。我想并行地向我的服务器提交多个作业,因为对一条染色体的分析需要几个小时。在玩了一些选项并搜索了所有内容后,我仍然不确定最佳选择是什么,因为我从未向服务器(Sun Grid Engine服务器)并行提交作业。我查看了GNU parallel
,但我不确定如何使用它,或者它是否运行R脚本。也许把所有内容都放在shell脚本中并将其提交给服务器?这是一个非常基本的问题,但任何方向都将非常感谢!
答案 0 :(得分:0)
parallel Rscript plot_LRR_BAF_chromosome_parallel ::: {1..22} X Y
答案 1 :(得分:0)
使用带有选项-j
的GNU make ,将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 > $$@
endef
all: $(addsuffix .out,$(chroms))
$(foreach C, $(chroms),$(eval $(call method1, $(C) )))