我正在寻找一个流水线来自动对大约 60 个基因组的集合进行序列修剪。程序代码为:
trimmomatic PE -phred33 SA*_1.fastq SA*_2.fastq SA_*_forward_paired.fastq SA_*_forward_unpaired.fastq SA_*_reverse_paired.fastq SA_*_reverse_unpaired.fastq LEADING:5 TRAILING:5 SLIDINGWINDOW:4:20 MINLEN:36 -threads 6
我需要将 * 替换为一列 csv 文件中列出的不同字母或数字的列表。每个操作的所有 * 都是相同的,但操作需要循环遍历不同基因组的不同名称列表,并在到达列表末尾时结束。
如下所示使用
cut
和xargs
。将 1
中的 cut -f1
替换为您想要的列号。
cut -f1 infile | xargs -n1 -I{} trimmomatic PE -phred33 SA{}_1.fastq SA{}_2.fastq SA_{}_forward_paired.fastq SA_{}_forward_unpaired.fastq SA_{}_reverse_paired.fastq SA_{}_reverse_unpaired.fastq LEADING:5 TRAILING:5 SLIDINGWINDOW:4:20 MINLEN:36 -threads 6
另见:
如果您更喜欢 GNU 实用程序(
xargs
等)而不是那些的 macOS 版本,请使用 brew
: