バイオインフォマティクスタスクで複数のマルチファスタファイルのヘッダー名を変更する

バイオインフォマティクスタスクで複数のマルチファスタファイルのヘッダー名を変更する

私は次の1.ファイルを持っています:

>YP_008856774.1 
MHGTRTSAGWSTQPGKFDVLNLRMTFESSSAYQIPDLQPTEFIPTSLAAWNMPRHREYAAVSGGALHFFLDDYRFETVWS
>YP_008856775.1
MGGRGGGGGPGPGTGAKNKKAGGGSAGGLGGGGGSGGSSGGGGKGTGTTGTGGVQNGSGGGGNGAGGGSSNTTKPVEQYE
>YP_008856776.1 
MQPPIEPVDPPTGDVSPYPNDLLILGGNRWLTITGRILHTPFGDQVELKPNTVKFWEAAAMRGQGKTLSELIV
>YP_008856777.1 
MTWAGSRRRDELPPDWELKYRLPVLSAANWLCEVNGPGCVRAATDVDHKKRGNDHSRSNLQAICRVCHGRKSAAEGVARR

各タグの名前を次のように変更したいです(例:> YP_008856776.1)。

>YP008856_1
MHGTRTSAGWSTQPGKFDVLNLRMTFESSSAYQIPDLQPTEFIPTSLAAWNMPRHREYAAVSGGALHFFLDDYRFETVWS
>YP008856_2
MGGRGGGGGPGPGTGAKNKKAGGGSAGGLGGGGGSGGSSGGGGKGTGTTGTGGVQNGSGGGGNGAGGGSSNTTKPVEQYE
>YP008856_3
MQPPIEPVDPPTGDVSPYPNDLLILGGNRWLTITGRILHTPFGDQVELKPNTVKFWEAAAMRGQGKTLSELIV
>YP008856_4
MTWAGSRRRDELPPDWELKYRLPVLSAANWLCEVNGPGCVRAATDVDHKKRGNDHSRSNLQAICRVCHGRKSAAEGVARR

まず一度sed -i "s/\_//g" 1.file削除してみました\_。それとも、タイトルの最後の4文字を削除して_「注文番号」を追加する必要がありますか?つまり、;次にタグの名前を変更したいと思います>。最初のステップは;を置き換えて、_各ラベルの最後の4文字を削除してから、各ラベルの後に追加し、_最後に各ラベルの後にシーケンス番号を追加します。 (例:>YP_008856774.1〜>YP008856774.1〜>YP008856〜>YP008856_〜>YP008856_1)現在の能力ではまだできません。この問題を解決するのに役立ちますか?ありがとうございます。

ベストアンサー1

すべてのUnixシステムのすべてのシェルでawkを使用してください。

$ awk '/>/{$0=substr($0,1,3) substr($0,5,6) "_" (++c)} 1' file
>YP008856_1
MHGTRTSAGWSTQPGKFDVLNLRMTFESSSAYQIPDLQPTEFIPTSLAAWNMPRHREYAAVSGGALHFFLDDYRFETVWS
>YP008856_2
MGGRGGGGGPGPGTGAKNKKAGGGSAGGLGGGGGSGGSSGGGGKGTGTTGTGGVQNGSGGGGNGAGGGSSNTTKPVEQYE
>YP008856_3
MQPPIEPVDPPTGDVSPYPNDLLILGGNRWLTITGRILHTPFGDQVELKPNTVKFWEAAAMRGQGKTLSELIV
>YP008856_4
MTWAGSRRRDELPPDWELKYRLPVLSAANWLCEVNGPGCVRAATDVDHKKRGNDHSRSNLQAICRVCHGRKSAAEGVARR

おすすめ記事