如何通过 for 循环在配对文件上使用 SLURM_TASK_ID?

问题描述 投票:0回答:0

我有一个包含 180 个文件的文件夹,这些文件的名称中配对为 *R1.fastq.gz 和 *R2.fastq.gz。所以它可能是“abc_R1.fastq.gz”和“abc_R2.fastq.gz”作为一对,并且有 90 个这样的对。

我有一个名为 spades 的程序,它在 R1 和 R2 对上运行以下命令。

bin/spades.py --meta -1 abc_R1.fastq.gz -2 abc_R2.fastq.gz -o output_folder

我有一个名为“fastq”的文件夹,其中有 90 对,内容如下:

abc_R1.fastq.gz
abc_R2.fastq.gz
zxy_R1.fastq.gz
zxy_R2.fastq.gz
dfg_R1.fastq.gz
...

我想在 for 循环中的每一对上使用 SLURM_TASK_ID,并让输出为 SLURM TASK ID 名称及其内容。所以像这样:

file1=$(ls /filepath/*R1.fastq.gz | sed -n ${SLURM_ARRAY_TASK_ID}p)
file2=$(ls /filepath/*R2.fastq.gz | sed -n ${SLURM_ARRAY_TASK_ID}p)

spades.py --meta -1 ${file1} -2 ${file2} -o outputpath/"${SLURM_ARRAY_TASK_ID}p"

但是要循环执行此操作。我遇到的问题是上述类型的作品,但仅适用于给定的数组大小,并且它调用输出名称 1,2,3 等,而不是我想要的文件名前缀“abc”等。

如有任何帮助,我们将不胜感激!!!

bash for-loop bioinformatics slurm
© www.soinside.com 2019 - 2024. All rights reserved.