2017-08-03 106 views
0

我有我想要排序和索引的文件列表,我列出了所有這些文件在文本文件中。如何將文件列表傳遞給並行命令並執行下游命令(如samtools)?

/run/media/punit/data1/GSE74246/tophat_output/CMP_SRR2753096/CMP_6792.bam 
run/media/punit/data1/GSE74246/tophat_output/CMP_SRR2753104/CMP_7256.bam 

上面的一個只是我想要排序和索引的數據列表。

現在我想用這個命令

ls *.bam | parallel "samtools view -b -S {} | samtools sort - {.}; samtools index {.}.bam" 

同時我也有

.bam
擴展名的文件,如unmapped.bam我不想排序和指數

我該如何排除這些「unmapped.bam」,但由於我沒有在我的列表中的unmapped.bam,但仍然是我的onder如果我使用並行然後它會採取這些排序和索引...

回答

1
ls *.bam | grep -v unmapped | parallel ... 
+0

謝謝你的答案我要試試這個.. –