0

このようなさまざまなヘッダーを持つfastaファイルがあります..

>Ar000001
>Ar000002
>Ar000003

など..今、私は名前をこのようなものに変更したいと思います

>Ar000001 => >Bra000001
>Ar000002 => >Bra000002
>Ar000003 => >Bra000003 

など..それを行うためのperlスクリプトを作成しましたが、何も出力しません。私は何か間違ったことをしていますか?

open(INFILE, "test.fasta") or die "Error opening input file"; 
open(OUTFILE, ">", "test_out.fasta") or die "Error creating output file"; 

my $count = 1;
while (my @line = <INFILE>) 
{
    if (my $line[$count] =~ /^>/)
    {
        print OUTFILE ">Bra%.5d\n", $count;
        $count ++;
    }
}

また、fasta ヘッダー名を変更して新しいファイルに出力する以外に、各 fasta ヘッダーの下にシーケンスを含めるにはどうすればよいですか。前もって感謝します.... Upendra

4

2 に答える 2

1

コマンドラインから直接

perl -pe's/^>Ar/>Bra/' test.fasta > test_out.fasta
于 2015-07-09T13:38:35.003 に答える
0

これは、実際に行う必要があるすべてのように聞こえます。

open(my $INFILE, "<", "test.fasta") or die "Error opening input file: $!"; 
open(my $OUTFILE, ">", "test_out.fasta") or die "Error creating output file: $!"; 

while (my $line = <$INFILE>) 
{
    $line =~ s/^>Ar/>Bra/;
    print $OUTFILE $line;
}

つまり、"^>Ar" をすべて ">Bra" に置き換え、ファイル内の他のすべてを同じにします。

于 2013-04-19T12:55:20.107 に答える