我的文件中有一堆 DNA 序列。我想用 替换顶行,例如,>xxx_3-13_00021^gcd
有人>gcd
有搜索和替换命令吗?
>xxx_3-13_00021^gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>yyy_3-13_00019^group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>zzzz_3-13_00020^cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG
答案1
您可以使用以下sed
命令来实现此目的:
sed -e 's/^>.*\^/>/g'
解释:
>
表达式搜索以 开头并以 结尾的字符串^
- 并将其替换为
>
- 因此,只保留 fasta-ID 的最后几个字母。
使用你的例子:
$ echo ">xxx_3-13_00021^gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>yyy_3-13_00019^group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>zzzz_3-13_00020^cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG" | sed -e 's/^>.*\^/>/g'
>gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG