Только один разрыв строки в файле fasta

У меня есть файл fasta, например:

grep -A 7 -B 4 COSN229024 error.fasta :

>COSN9627597
CGCTGGGCTCGCCTCCAGCCTGGCCTGCATTCCCAAATCTA
>COSN8175610
CAAGAGAGAAATTCTGACACCTCCTAAGTCTACCAAGCTTT
>COSN229024
CACTATAAAAATATTAAGAGA
>COSN18183003
TGTGTTTGTGATTGATGT
>COSN18487588
TGCTTACCCCTTAAATGCAACTTATTTACTTTTACCACTGT
>COSN1681903|COSN1178783
CTTCCCAACTCATGAGTTCTGAATTCCAATACGTCTCCATT

Я заметил, что в invalid.fasta примерно половина последовательности> COSN229024 ломается вверх и формирует новую последовательность> COSN18183003. В конце концов, после расставания весь порядок фаста хедер испортился. Итак, я хочу вернуть часть разрыва> COSN229024 в> COSN229024 в неправильном.fasta, а затем перенести / заменить заголовок. Я использовал grep -A 7 -B 4 COSN229024 error.fasta . Мой желаемый результат был бы таким:

>COSN9627597
CGCTGGGCTCGCCTCCAGCCTGGCCTGCATTCCCAAATCTA
>COSN8175610
CAAGAGAGAAATTCTGACACCTCCTAAGTCTACCAAGCTTT
>COSN229024
CACTATAAAAATATTAAGAGATGTGTTTGTGATTGATGT
>COSN18183003
TGCTTACCCCTTAAATGCAACTTATTTACTTTTACCACTGT
>COSN18487588
CTTCCCAACTCATGAGTTCTGAATTCCAATACGTCTCCATT
>COSN1681903|COSN1178783
........so on and so forth
0
27.04.2016, 15:46
1 ответ

Вы можете исправить файл с помощью awk вот так:

awk '/^>/{if(x)t=$0;else print"\n"$0} !/^>/{printf"%s",$0;if(t)print"\n"t} /^>COSN229024/{x=1}' < wrong.fasta > good.fasta

После этого вам, вероятно, также потребуется вручную исправить начало и конец файла.

1
28.01.2020, 02:48

Теги

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