5

次のような FASTA ファイルを手動でダウンロードできます。

>lcl|CR543861.1_gene_1...
ATGCTTTGGACA...
>lcl|CR543861.1_gene_2...
GTGCGACTAAAA...

「Send to」をクリックして「Gene Features」を選択すると、このページで FASTA Nucleotide が唯一のオプションになります (これで十分です) 。

次のようなスクリプトを使用します。

#!/usr/bin/env perl
use strict;
use warnings;
use Bio::DB::EUtilities;

my $factory = Bio::DB::EUtilities->new(-eutil   => 'efetch',
                                       -db      => 'nucleotide',
                                       -id      => 'CR543861',
                                       -rettype => 'fasta');
my $file = 'CR543861.fasta';
$factory->get_Response(-file => $file);

次のようなファイルを取得します。

>gi|49529273|emb|CR543861.1| Acinetobacter sp. ADP1 complete genome
GATATTTTATCCACA...

ゲノム配列全体がひとまとめにされています。最初の (手動でダウンロードした) ファイルのような情報を取得するにはどうすればよいですか?

私は他のいくつかの投稿を見ました:

EUtilities Cookbook のこのセクションと同様に。

GenBank ファイルを取得して保存しようとしましたが (取得した .gb ファイル内の遺伝子ごとに個別の配列があるように見えるため)、Bio::SeqIO を使用して作業すると、大きな配列が 1 つしか取得されません。

4

1 に答える 1

4

このアクセッション番号とリターン タイプを使用すると、完全なゲノム シーケンスを取得できます。個々の遺伝子配列を取得する場合は、完全な genbank ファイルが必要であることを指定してから、遺伝子を解析します。次に例を示します。

#!/usr/bin/env perl

use 5.010;
use strict;
use warnings;
use Bio::SeqIO;
use Bio::DB::EUtilities;


my $factory = Bio::DB::EUtilities->new(-eutil   => 'efetch',
                                       -email   => 'foo@bar.com',
                                       -db      => 'nucleotide',
                                       -id      => 'CR543861',
                                       -rettype => 'gb');
my $file = 'CR543861.gb';
$factory->get_Response(-file => $file);

my @gene_features = grep { $_->primary_tag eq 'gene' } 
                    Bio::SeqIO->new(-file => $file)->next_seq->get_SeqFeatures;

for my $feat_object (@gene_features) {
    for my $tag ($feat_object->get_all_tags) {
        # open a filehandle here for writing each to a separate file
        say ">",$feat_object->get_tag_values($tag);
        say $feat_object->spliced_seq->seq;
        # close it!
    } 
}

これにより、各遺伝子が同じファイルに書き込まれます (リダイレクトすると、STDOUT にのみ書き込まれます)。genbank の解析は少し難しい場合があるため、ドキュメント、特に優れたFeature Annotation HOWTOを読むことは常に役に立ちます。

于 2014-02-28T16:58:54.067 に答える