编号FASTA文件

时间:2018-10-12 18:50:34

标签: unix

我有一个multiFASTA文件,即包含多于1个FASTA序列的文件。每个序列前面都有一个标题,如下所示:

>NC_005042.1 etc
>NC_003272.1 etc
>NC_003276.1 etc 
...

我想将这些标头重命名为数字,因此输出如下:

 >1
 >2
 >3
 ...

最后,我需要将“>”之后的每个标签替换为一系列有序数字。

1 个答案:

答案 0 :(得分:0)

如果您知道标头都以>开头,而其他行不是,则可以使用

awk 'BEGIN {nr=0} /^>/ {nr++; print ">" nr; next} {print}' fastafile

换句话说:在行之前,将变量nr设置为0。
当一行以>开头时,抬起nr,用nr打印标题行,并跳过其余命令。
其余命令仅打印当前行。

awk '/^>/ {nr++; print ">" nr; next} 1' fastafile

较短,使用默认值0 var awk变量和1之后的默认打印操作。