所以,我想帮助创建一个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
答案 0 :(得分:1)
正如您指定的那样,如果两个输入文件具有固定的命名术语,除了$ INDEX,那么只需在作业脚本中使用SGE_TASK_ID作为INDEX:
program File${SGE_TASK_ID}_A.txt File${SGE_TASK_ID}_B.txt > File${SGE_TASK_ID}.txt