如何保留fasta文件scaffold名称的第一个字段作为scaffold的名称

 

001、 seqkit实现

(cactus_env) [b20223040323@admin2 test]$ ls
test.fa
(cactus_env) [b20223040323@admin2 test]$ cat test.fa     ## 测试fasta文件
>scaffold1 xxx  yyy
AATTGGGG
TTTCCCGG
TT
>scaffold2 yyy kkkk
TTTCCCTT
GGGGCCCC
TTTTT
>scaffold3 iii rrr
CCCCTTTG
CCCCCCCC
TTT
(cactus_env) [b20223040323@admin2 test]$ seqkit replace -p '^(\S+).*' -r '$1' test.fa    ## 利用seqkit实现
>scaffold1
AATTGGGGTTTCCCGGTT
>scaffold2
TTTCCCTTGGGGCCCCTTTTT
>scaffold3
CCCCTTTGCCCCCCCCTTT

image

 。

 

002、 awk实现

(cactus_env) [b20223040323@admin2 test]$ ls
test.fa
(cactus_env) [b20223040323@admin2 test]$ cat test.fa      ## 测试fasta
>scaffold1 xxx  yyy
AATTGGGG
TTTCCCGG
TT
>scaffold2 yyy kkkk
TTTCCCTT
GGGGCCCC
TTTTT
>scaffold3 iii rrr
CCCCTTTG
CCCCCCCC
TTT
(cactus_env) [b20223040323@admin2 test]$ awk '$1 ~ /^>/ {print $1; next} {print $0}' test.fa    ## awk实现
>scaffold1
AATTGGGG
TTTCCCGG
TT
>scaffold2
TTTCCCTT
GGGGCCCC
TTTTT
>scaffold3
CCCCTTTG
CCCCCCCC
TTT

image

 。

 

003、sed实现

(cactus_env) [b20223040323@admin2 test]$ cat test.fa          ## 测试fasta文件
>scaffold1 xxx  yyy
AATTGGGG
TTTCCCGG
TT
>scaffold2 yyy kkkk
TTTCCCTT
GGGGCCCC
TTTTT
>scaffold3 iii rrr
CCCCTTTG
CCCCCCCC
TTT
(cactus_env) [b20223040323@admin2 test]$ sed 's/\s\+.*//' test.fa   ## sed删除空白及其后的所有
>scaffold1
AATTGGGG
TTTCCCGG
TT
>scaffold2
TTTCCCTT
GGGGCCCC
TTTTT
>scaffold3
CCCCTTTG
CCCCCCCC
TTT

image

 。

 

posted @ 2025-12-09 11:51  小鲨鱼2018  阅读(2)  评论(0)    收藏  举报