0

私はそのようなfastaファイルを持っています

">ENS..._intronX
acgtacgtacgtacgt
">ENS..._intronY
acgtacgtNNNNa
acgtacgtacgtacgt
">ENS..._intronZ
acgtacgtacgtacgt
acgtacgtacgtacgt

少なくとも 2 つN連続するシーケンスを削除する必要があります (これらのイントロンは誤って注釈されているため)。

ここでは、シーケンスになります " >ENS..._intronY "(3 行目、4 行目、および 5 行目を削除する必要があります)。

助言がありますか?

ありがとうございました、

4

2 に答える 2

3

With

awk -v RS='">' '!/NN/{printf $0RT}' file
">ENS..._intronX
acgtacgtacgtacgt
">ENS..._intronZ
acgtacgtacgtacgt
acgtacgtacgtacgt    
于 2013-11-01T19:40:41.223 に答える
1

あなたはバイオインフォマティクスを追求しているように見えるので、Bio::SeqIO慣れることを検討してください。

use strict;
use warnings;
use Bio::SeqIO;

my $in = Bio::SeqIO->new( -file => shift, -format => 'Fasta' );

while ( my $seq = $in->next_seq() ) {
    print '>' . $seq->id . ' ' . $seq->desc . "\n" . $seq->seq . "\n"
      if $seq->seq !~ /nn/i;
}

使用法:perl script.pl inFile [>outFile]

最後のオプション パラメータは、出力をファイルに送信します。

データセットの出力:

>ENS..._intronX 
acgtacgtacgtacgt
>ENS..._intronZ 
acgtacgtacgtacgtacgtacgtacgtacgt

お役に立てれば!

于 2013-11-01T20:00:08.190 に答える