Linux 中shell脚本实现给fasta文件中重复的染色体名做序号标记

发布时间 2023-11-17 23:25:36作者: 小鲨鱼2018

 

001、测试数据

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt        ## 测试数据
>jcf7180003470556
2 7
>jcf7180003470556
3 8
>jcf7180003470552
4 9 6
>jcf7180003470546
5 3
>jcf7180003470558
6 2
>jcf7180003470556
7 1
>jcf7180003470550
8 5
>jcf7180003470558
10 4 3

 

给重复的染色体名做标记:

[root@pc1 test]# awk '{if($0 ~ /^>/) {$0 = $0"_"++ay[$0]}; print $0}' a.txt   ## 在末尾追加重复的次数
>jcf7180003470556_1
2 7
>jcf7180003470556_2
3 8
>jcf7180003470552_1
4 9 6
>jcf7180003470546_1
5 3
>jcf7180003470558_1
6 2
>jcf7180003470556_3
7 1
>jcf7180003470550_1
8 5
>jcf7180003470558_2
10 4 3

 。