Unix 为FASTA文件编号
我有一个multiFASTA文件,即包含超过1个FASTA序列的文件。每个序列前面都有一个标题,如下所示:Unix 为FASTA文件编号,unix,Unix,我有一个multiFASTA文件,即包含超过1个FASTA序列的文件。每个序列前面都有一个标题,如下所示: >NC_005042.1 etc >NC_003272.1 etc >NC_003276.1 etc ... >1 >2 >3 ... 我想为数字重命名这些标题,因此输出如下: >NC_005042.1 etc >NC_003272.1 etc >NC_003276.1 etc ... >1 >2 &
>NC_005042.1 etc
>NC_003272.1 etc
>NC_003276.1 etc
...
>1
>2
>3
...
我想为数字重命名这些标题,因此输出如下:
>NC_005042.1 etc
>NC_003272.1 etc
>NC_003276.1 etc
...
>1
>2
>3
...
总之,对于一系列有序的数字,我需要替换“>”后面的每个标记。当您知道标题都以
开头,而其他行不以开头时,您可以使用
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
后的默认打印操作。请显示您所做的事情和出错的地方awk'BEGIN{nr=0}/^NC{nr++;print“>”nr;next}1'fastafile
可能是什么。我尝试了awk,与一个类似的案例进行比较,已经在这里问过:帖子中仍然没有代码……嗨,我无法发布代码,因为我不知道它看起来会是什么样子……你在我的评论中尝试过这个建议吗?