multifastaファイルのヘッダー名を変更する

multifastaファイルのヘッダー名を変更する

このような高速ファイルが複数あります

>aaaaa.1_prot_CAA66754.1_10
MEKLLDAYLSSLRLNRRQVSEQTGLNYTTLQRASDKDALMISPRILWGIAMMVDKTPGQVLDELIELEMK
>bbbbb.1_prot_CAA66753.1_11
MMSKQDRINRRRRNIMKDAHRIAKLIVSNVGDYMVAMKLALKTVYAYKAMRKEVSSRGNAVEMHTLPLLD
GYARQQFEPEFVAGIPAWAIKKDFMSSSAQDILYFTIDTKVVKETEKAVEIEFATKNPKEHGYVDHHHTW
VAKSIMAA

タイトルをこのように変更しsedたいawk

>aaaaa.1_10
MEKLLDAYLSSLRLNRRQVSEQTGLNYTTLQRASDKDALMISPRILWGIAMMVDKTPGQVLDELIELEMK
>bbbbb.1_11
MMSKQDRINRRRRNIMKDAHRIAKLIVSNVGDYMVAMKLALKTVYAYKAMRKEVSSRGNAVEMHTLPLLD
GYARQQFEPEFVAGIPAWAIKKDFMSSSAQDILYFTIDTKVVKETEKAVEIEFATKNPKEHGYVDHHHTW
VAKSIMAA

sedしかし、私は少ししか知りません。

sed 's/.\(.\)$/\1/'

各行の 2 番目から最後の文字を削除し、「-」の最初の項目を保持します。

答え1

awk1つの方法は次のとおりです。

$ awk '/^>/{sub(/\.[^.]+/,"")}1' file
>aaaaa.1_10
MEKLLDAYLSSLRLNRRQVSEQTGLNYTTLQRASDKDALMISPRILWGIAMMVDKTPGQVLDELIELEMK
>bbbbb.1_11
MMSKQDRINRRRRNIMKDAHRIAKLIVSNVGDYMVAMKLALKTVYAYKAMRKEVSSRGNAVEMHTLPLLD
GYARQQFEPEFVAGIPAWAIKKDFMSSSAQDILYFTIDTKVVKETEKAVEIEFATKNPKEHGYVDHHHTW
VAKSIMAA

>これは、(ヘッダー行)で始まる行を変更することを考慮します。

.この行は、「文字で始まり、構成される文字列」パターンを置き換えます。いいえ「(最初の文字から始まり、次の文字を除く.一連の文字を意味します)と「nothing」を含めて削除します。..

1ルールブロックから外れたように見えることは、awkこれまでに行われたすべての可能な修正を含む現在の行を印刷するように指示します。

答え2

$ sed 's/_.*_/_/' file
        >aaaaa.1_10
        MEKLLDAYLSSLRLNRRQVSEQTGLNYTTLQRASDKDALMISPRILWGIAMMVDKTPGQVLDELIELEMK
        >bbbbb.1_11
        MMSKQDRINRRRRNIMKDAHRIAKLIVSNVGDYMVAMKLALKTVYAYKAMRKEVSSRGNAVEMHTLPLLD
        GYARQQFEPEFVAGIPAWAIKKDFMSSSAQDILYFTIDTKVVKETEKAVEIEFATKNPKEHGYVDHHHTW
        VAKSIMAA

答え3

最初のポイントから2番目のポイントまでのタイトル部分を削除すると仮定すると、次のコマンドは最初のポイントから2番目のポイントまでのすべてのエントリを削除しますが、2番目のポイントは削除しません。

sed 's/\.[^.]*//' file

または、最初のポイントから2番目のポイントまでのすべてのアイテムを削除します。

sed 's/[^.]*\.//2' file

私はあなたがやろうとしているものが最後のポイントから最後までビットをキャプチャし、最初のポイントの完全な文字列をキャプチャされた文字列に置き換えると信じています。

sed 's/\..*\(\..*\)/\1/' file

awk各行をドットで区切られたフィールドのセットとして使用して処理するには、各行から次に始まる2番目のフィールドを削除します>

awk -F . 'BEGIN { OFS=FS } /^>/ { $0 = $1 OFS $3 }; 1' file

答え4

awk -F "_" '/^>/{$0=$1"_"$NF}1' file

出力

>aaaaa.1_10
MEKLLDAYLSSLRLNRRQVSEQTGLNYTTLQRASDKDALMISPRILWGIAMMVDKTPGQVLDELIELEMK
>bbbbb.1_11
MMSKQDRINRRRRNIMKDAHRIAKLIVSNVGDYMVAMKLALKTVYAYKAMRKEVSSRGNAVEMHTLPLLD
GYARQQFEPEFVAGIPAWAIKKDFMSSSAQDILYFTIDTKVVKETEKAVEIEFATKNPKEHGYVDHHHTW
VAKSIMAA

関連情報