如何在SGE集群上运行不同的多个Rscripts

时间:2015-05-11 23:32:44

标签: r bash cluster-computing sungridengine

我试图在SGE群集上运行不同的Rscripts,每个Rscript仅改变一个变量(例如癌症< - “UVM”或“ACC”等)。

我尝试了两种方法:运行Single Rscript获取30个不同癌症名称的命令行参数

OR

运行每个Rscript(即UVM.r,ACC.r等)

无论哪种方式,我都很难搞清楚如何提交这些作业,所以每次运行一次Rscript 30次,每次运行不同的参数或运行多个没有命令行参数的Rscripts。

2 个答案:

答案 0 :(得分:0)

你可以在bash中使用while循环。

  1. 设置参数的输入文件,例如args.txt

    UVM
    ACC
    
  2. qsub循环中运行while以提交每个参数的脚本:

    while read arg
    do 
        echo "Rscript script.R ${arg}" | qsub <options>
    done <args.txt
    

    上面使用echo传递代码以运行到qsub

答案 1 :(得分:0)

像这样的工作脚本:

#!/bin/bash
#$ -t 1-30
shift ${SGE_TASK_ID}
exec Rscript script.R $1 

像这样提交qsub job_script dummy UVM ACC ...