частичная команда замены строки

У меня есть набор последовательностей ДНК в моем файле. Я хотел бы заменить верхнюю строку, например. >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
0
задан 9 December 2016 в 16:40

1 ответ

Можно использовать команду follwoing sed для этого:

sed -e 's/^>.*\^/>/g'

Объяснение:

  • выражение ищет строку, которая запускается с > и заканчивается ^
  • и заменяет это >
  • так, только последние несколько букв fasta-идентификаторов сохранены.

с Вашим примером:

$ 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
2
ответ дан 28 September 2019 в 01:28

Другие вопросы по тегам:

Похожие вопросы: