Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 为FASTA文件编号_Unix - Fatal编程技术网

Unix 为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 &

我有一个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
 >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,与一个类似的案例进行比较,已经在这里问过:帖子中仍然没有代码……嗨,我无法发布代码,因为我不知道它看起来会是什么样子……你在我的评论中尝试过这个建议吗?