fastaファイルには改行文字が1つしかありません。

fastaファイルには改行文字が1つしかありません。

次の fasta ファイルがあります。

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

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

誤った.fastaで> COSN229024シーケンスの約半分が分解され、新しいシーケンス> COSN18183003を形成することが観察されました。結局、解体後のパスタヘッド全体の秩序が台無しになった。だから> COSN229024の壊れた部分をerror.fastaの> COSN229024に戻し、ヘッダーを転送/交換したいと思います。私はそれを使用しましたgrep -A 7 -B 4 COSN229024 wrong.fasta。私が望む出力は次のとおりです。

>COSN9627597
CGCTGGGCTCGCCTCCAGCCTGGCCTGCATTCCCAAATCTA
>COSN8175610
CAAGAGAGAAATTCTGACACCTCCTAAGTCTACCAAGCTTT
>COSN229024
CACTATAAAAATATTAAGAGATGTGTTTGTGATTGATGT
>COSN18183003
TGCTTACCCCTTAAATGCAACTTATTTACTTTTACCACTGT
>COSN18487588
CTTCCCAACTCATGAGTTCTGAATTCCAATACGTCTCCATT
>COSN1681903|COSN1178783
........so on and so forth

答え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

後でファイルの開始と終了を手動で変更する必要があるかもしれません。

関連情報