У меня есть такой файл ДНК, где описание последовательности находится в строке, следующей за знаком>, последовательность следует в следующей строке до следующего дескриптора последовательности>.Я хочу извлечь определенную последовательность (строка описания последовательности + последовательность) без сохранения следующей строки идентификатора.
Файл:
>k141_166416 flag=1 multi=2.0000 len=644
AAATAGTAAAACTCCAGAAGATGAATAATAAAAATCAGTCTCTAATATCTCATTTAATTGATCAGAAAAAATATTATTATAATCTAAATTTATTCTAGTATTTTTTAAAAATTGATTACTTAAGTCAAATTTAAAATAATCAACGATAATTCCTTTCTTCTCTTTCAAGTCAAAAGAAAAATCTCTATCAATATACTCTGAAGGATAAATTGTATAAAAATTCACAGACCAACCTTTAAAACATCTTATTTCAAAGTAGTACTTCTAAACAAGCATCTAGAGATACTACTTATTTTTGAATATTACTTACACTTTAACCATAAAAAAATTCTATAAAATACTCTATATCTAACAATACTTTTTCATTTATAAGAATTTTCTTTAACTCTTCTAAAAAACCTGTTTTATACCCTCCATTTTCACCTCTAGGGTTAGAGTCATATAGGTCAATAATTAAATTCTGCACAATATTAATTTGCGAAAAAAATCAAATAAATTTTTAGCAATGATATGTAATTCATCGCCTGAAATACATGCTCCTATCTCGCCACTATTATGATTAATGTATACGACATTTACATCATGCTGTGTTAAGAATACTGTAGTACTTTCCCCATCAAATATATCTTCAAACATATATTGAA
>k141_41604 flag=1 multi=2.0000 len=319
GGGCTCGTAGCCCATGGCCGGCTGCGTCAGGATGCGGCGCAGCTGCGCCATCACGCCCTGTGCTCGCTGGCGCGCGCGCATGAGCGGCCCGGTCAGGGGACCGCCGGCGGGCAGGTACATGCCGCCGCCCATGAATGACGCCGGCTGGCTGACGCGGCTGACCAGCTGCGTCGGCACGAAGCCGGCCTGGCGCGGCGCGCCGCTGTGGGAAAAACCGTAGCCGCTCGCAGGCGACCCCATGGGCCTGGAGGCGGGGCCGAGCGGCCCCGAGAGCGAGCCGGGGCCGGTGCCGTAGGGGCCCGATGCGTCCGGCCCCAGG
>k141_436839 flag=0 multi=1.0000 len=205
ATGAAATCACGATGTTTTTCTGATTCTACGAGTTAGGGAGAACATGAATCATCAGCTCTTTTTTAAATCTGGTGTTTGTCTGAGCCGGGAACCTCAGTTCTCAAAGGGCAGTTTTGCCATTGCGAGAATAGGCCATTTGAGCAATTGCGGTAATAGGCCGTTTCGGCCAAATTTCTTCTTGGTGTCACTCTTCAGGAAAAGAGAG
>k141_624048 flag=1 multi=3.0000 len=318
GTGCATAATCGCGGTATGGTGAAGGCCCGCTTCGACTTTTAGCGCCAACGCCAGCGCGCTATCAAAATCGCTGACTTTCACAATGGGCAGCATGGGCATCAGTTGTTCACACGTGACCCACGGATCTTCGGCATTCACCACCGCGATGAGCAGGCGAGGCGTTTTTGCCGGTGTTGCGATGTCTGATGCTTCCAGTAGCGTCGCCGGGCTCTTACCCACCAGTTTTTTATTCGCATGACCATCCTGTAGACAGACGGTACGTAATTTATCGGTGTCCGACGGGCTGAGAAGCAGCGCGCCAAACGCTTGCATCTGCTG
>k141_395237 flag=1 multi=4.0000 len=344
GCATACAATGGTGAGACTATGGTGGATCGACTAGATTGGGACAATGGTTTACTCGAAGGAACGGAAGTTTTAGGGCTGTTGAACTCGGCTCAAATTGTAGATATTCCATTTAAACCAAATGGACAATACGACCGAATTTCGATTGGACTGAAAAGCTTAATCCATGCGGATGTACTTTCGGCTATTGAAATCTACAAAGTAGAACGCGTATGTGATCTAATAGGATCTAACCAAAATTTAGTGTCGTGGAAGTCGTACAAAGTAAATGACGATGCTACTGTTACTTCGGTTTCAGGTGGTGAACAAGTGGAATATACCATCCATGTGAAAAATATAGGAACCAC
Скажите, я хочу, чтобы последовательность идентифицировалась как >k141_436839
, чтобы выходной файл был:
>k141_436839 flag=0 multi=1.0000 len=205
ATGAAATCACGATGTTTTTCTGATTCTACGAGTTAGGGAGAACATGAATCATCAGCTCTTTTTTAAATCTGGTGTTTGTCTGAGCCGGGAACCTCAGTTCTCAAAGGGCAGTTTTGCCATTGCGAGAATAGGCCATTTGAGCAATTGCGGTAATAGGCCGTTTCGGCCAAATTTCTTCTTGGTGTCACTCTTCAGGAAAAGAGAG
Пост по аналогичному вопросупредполагает это, но это не сработало: sed -n -e '/^>k141_436839 $/,/^>$/{ /^>$/d; p; }'
Длина len=
также важна.Вот один ответ:
awk '/^>/{f=/>k141_436839 flag=0 multi=1.0000 len=205/} f' file