Как запустить несколько разных Rscripts в кластере SGE

Я пытаюсь запустить разные сценарии Rscript в кластере SGE, каждый Rscript изменяется только на одну переменную (например, рак ‹- «UVM» или «ACC» и т. д.).

Я пробовал два способа: либо запустить Single Rscript, который получает аргументы командной строки для 30 различных имен рака.

OR

запустить каждый Rscript (т.е. UVM.r, ACC.r и т. д.)

В любом случае, мне очень трудно понять, как отправлять эти задания, поэтому я могу запускать один Rscript 30 раз с разными аргументами каждый раз ИЛИ запускать несколько Rscript без аргументов командной строки.


person Ted23    schedule 11.05.2015    source источник


Ответы (2)


Для этого вы можете использовать цикл while в bash.

  1. Настройте входной файл аргументов, например. args.txt:

    UVM
    ACC
    
  2. Запустите qsub в цикле while, чтобы отправить сценарий для каждого аргумента:

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

    Выше используется echo для передачи кода для запуска в qsub.

person Vince    schedule 12.05.2015

Такой скрипт работы:

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

Отправить так qsub job_script dummy UVM ACC ...

person William Hay    schedule 19.07.2015