具有多个输入的 SGE 数组作业
SGE array jobs with multiple inputs
因此,我想获得一些帮助来创建一个 shell 脚本,该脚本将允许我提交一个数组作业,其中每个单独的作业都有多个输入文件。我如何 运行 排列每个作业有一个输入的作业的示例如下:
DIR=/WhereMyFilesAre
LIST=($DIR/*fastq) #files I want to process
INDEX=$((SGE_TASK_ID-1))
INPUT_FILE=${LIST[$INDEX]}
bwa aln ${DIR}/referencegenome.fasta $INPUT_FILE > ${INPUT_FILE%.fastq}.sai
所以,基本上我想做的是类似的事情,除非我有 2 个或更多文件列表而不是一个。这些文件需要正确配对。例如,如果我有 File1_A.txt、File1_B.txt、File2_A.txt、File2_B.txt 以及看起来一般的东西
program input1 input2 > output
我希望生成的作业的线条看起来像
program File1_A.txt File1_B.txt > File1.txt
program File2_A.txt File2_B.txt > File2.txt
如您指定的那样,如果两个输入文件具有固定的命名命名规则,但 $INDEX 除外,则只需在作业脚本中使用 SGE_TASK_ID 作为 INDEX:
program File${SGE_TASK_ID}_A.txt File${SGE_TASK_ID}_B.txt > File${SGE_TASK_ID}.txt
因此,我想获得一些帮助来创建一个 shell 脚本,该脚本将允许我提交一个数组作业,其中每个单独的作业都有多个输入文件。我如何 运行 排列每个作业有一个输入的作业的示例如下:
DIR=/WhereMyFilesAre
LIST=($DIR/*fastq) #files I want to process
INDEX=$((SGE_TASK_ID-1))
INPUT_FILE=${LIST[$INDEX]}
bwa aln ${DIR}/referencegenome.fasta $INPUT_FILE > ${INPUT_FILE%.fastq}.sai
所以,基本上我想做的是类似的事情,除非我有 2 个或更多文件列表而不是一个。这些文件需要正确配对。例如,如果我有 File1_A.txt、File1_B.txt、File2_A.txt、File2_B.txt 以及看起来一般的东西
program input1 input2 > output
我希望生成的作业的线条看起来像
program File1_A.txt File1_B.txt > File1.txt
program File2_A.txt File2_B.txt > File2.txt
如您指定的那样,如果两个输入文件具有固定的命名命名规则,但 $INDEX 除外,则只需在作业脚本中使用 SGE_TASK_ID 作为 INDEX:
program File${SGE_TASK_ID}_A.txt File${SGE_TASK_ID}_B.txt > File${SGE_TASK_ID}.txt