Arrays 具有多个输入的SGE阵列作业

Arrays 具有多个输入的SGE阵列作业,arrays,shell,bioinformatics,sungridengine,Arrays,Shell,Bioinformatics,Sungridengine,因此,我想获得一些帮助来创建一个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 >

因此,我想获得一些帮助来创建一个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
所以,基本上我想做的是类似的事情,除非我有两个或更多的文件列表,而不是一个。这些文件需要正确配对。例如,如果我有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作为索引即可:

program File${SGE_TASK_ID}_A.txt File${SGE_TASK_ID}_B.txt > File${SGE_TASK_ID}.txt

您能不能在原始脚本中复制LIST、INDEX、INPUT_文件,这样您就可以编写程序$INPUT_文件1$INPUT_文件2>resultfile$INDEX.txt?我正在使用qmake(GNU make for SGE)处理此类作业和XML:请参阅示例。