【发布时间】:2018-12-05 21:18:21
【问题描述】:
我正在尝试使用 awk 更改多 fasta 文件的标题。
我的文件如下:
>NS500106:288:HGHTHAFXY:1:11101:16650:2011:CTATAC;size=206083;
GTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
>NS500106:288:HGHTHAFXY:1:11101:1149:1903:CTATAC;size=19175;
CAGCGAGAGCGAGACGCAGCCGGTGAACCGCGTGGCGTACAACGTCGGCGGGCAGATGGCCACCAACAACCAGAGCTCCA
CCACTGCCCCCGCGACCGGCACGTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
我正在使用这个命令:
awk '/[^;]*/{print "Variant_" ++i; next} {print}' < input.fasta > output.fasta
其中,/[^;]*/ 匹配直到第一次出现分号的行,并将标题的匹配部分替换为 Variant_1、Variant_2 等。
上述命令将整个标题更改为 Variant_1 等等,并且也不打印序列行。
我该如何解决这个问题?
我想要的输出如下:
Variant_1;size=206083;
GTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
Variant_2;size=19175;
CAGCGAGAGCGAGACGCAGCCGGTGAACCGCGTGGCGTACAACGTCGGCGGGCAGATGGCCACCAACAACCAGAGCTCCA
CCACTGCCCCCGCGACCGGCACGTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
【问题讨论】: