用于处理来自两个输入文件

时间:2018-03-11 22:34:10

标签: linux shell

我有大量的fastq文件用于~100个样本(每个样本两个:reads1和reads2)。对于每个样本,我需要将两个fastq文件输入到Prinseq,一个perl程序。理想情况下,这对于所有样本的shell脚本都很好,所以我不必手动调用该程序100次,但我不知道如何指示两个输入文件,只有一个(即,对于我在* .fastq;做[perl命令];完成)。如果有帮助,Prinseq命令格式如下:

  

perl prinseq-lite.pl -fastq [reads1的文件] -fastq2 [file for   reads2] -derep [options]

这可能是一个非常简单的答案,但我无法找到它。

1 个答案:

答案 0 :(得分:0)

您可以遍历所有R1个文件并使用parameter expansion来切断R1_001.fastq部分(并将其替换为R2版本):

for i in *_R1_001.fastq; do
    perl prinseq-lite.pl -fastq "$i" -fastq2 "${i%R1_001.fastq}R2_001.fastq"
done