fastaファイルの各タンパク質シーケンスの末尾から*を削除する方法

fastaファイルの各タンパク質シーケンスの末尾から*を削除する方法

特定のタンパク質のいくつかの配列(アミノ酸配列)を含むファスタファイルがあります。シーケンスの最後の文字は「*」で示され、これは実際に停止コドンを表す。 MUSCLEを使用して複数の配列アラインメントを実行しようとしていますが、ツールは最後に「*」を持つすべての配列を拒否します。

「*」を削除する方法?

たとえば、私の入力ファイルは次のようになります。

>seq1
MSDGFHS*
>Seq2
MSDRFH*

私に必要なのは:

>seq1
MSDGFHS
>Seq2
MSDRFH

ベストアンサー1

そしてsed。たとえば、

$ printf ">seq1\nMSDGFHS*\n>Seq2\nMSDRFH*\n" | sed -e 's/\*$//'
>seq1
MSDGFHS
>Seq2
MSDRFH

*これにより、行の末尾にあるすべてのアスタリスク文字()が削除されます。

sedの-iオプションを使用してソースファイルを編集できます。あるいはsed、MUSCLEの出力を新しいfastaファイルにリダイレクトし、それをMUSCLEの入力として使用する方が良いでしょう(通常、他のプログラムでも元のファイルを使用する必要がある場合に最適です)。いいえ情報永久削除 - データが削除された場合に回復できるという保証はありません。特定の目的のためにファイルの一時修正バージョンを使用するのと同じように、常にバックアップを取ることをお勧めします。

おすすめ記事