首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有一个登录号,我如何下载整个GenBank文件?

只有一个登录号,我如何下载整个GenBank文件?
EN

Stack Overflow用户
提问于 2013-05-06 09:07:08
回答 1查看 909关注 0票数 1

我有一个充满登录号的数组,我想知道是否有一种方法可以使用BioPerl自动保存genbank文件。我知道你可以抓取序列信息但我想要整个GenBank记录。

代码语言:javascript
复制
#!/usr/bin/env perl
use strict;
use warnings;
use Bio::DB::GenBank;

my @accession;
open (REFINED, "./refine.txt") || die "Could not open: $!";

while(<REFINED>){
    if(/^(\D+)\|(.*?)\|/){
    push(@accession, $2);
    }
}
close REFINED;
foreach my $number(@accession){

    my $db_obj = Bio::DB::GenBank->new;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-07 01:42:49

您可以使用Bio::DB::EUtilities保存完整的genbank记录。下面是一个示例,它将获取in列表并将每个in的genbank记录保存在一个名为myseqs.gb的文件中

代码语言:javascript
复制
#!/usr/bin/env perl

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

my @ids = qw(1621261 89318838 68536103 20807972 730439);

my $factory = Bio::DB::EUtilities->new(-eutil   => 'efetch',
                                       -db      => 'protein',
                                       -rettype => 'gb',
                                       -email   => 'mymail@foo.bar',
                                       -id      => \@ids);

my $file = 'myseqs.gb';

# dump HTTP::Response content to a file (not retained in memory)
$factory->get_Response(-file => $file);

如果您想拆分返回的各个记录,而不是将它们全部放在一个文件中,使用Bio::SeqIO很容易做到。有关更多示例和解释,请查看EUtilities HOWTOEUtilities Cookbook

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16390739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档