NAME

Bio::DB::GenBank - Database object interface to GenBank

SYNOPSIS

    $gb = new Bio::DB::GenBank;

    $seq = $gb->get_Seq_by_id('MUSIGHBA1'); # Unique ID

    # or ...

    $seq = $gb->get_Seq_by_acc('J00522'); # Accession Number

    # or ... best when downloading very large files, prevents
    # keeping all of the file in memory

    # also don't want features, just sequence so let's save bandwith
    # and request Fasta sequence
    $gb = new Bio::DB::GenBank(-retrievaltype => 'tempfile' , 
			       -format => 'Fasta');
    my $seqio = $gb->get_Stream_by_acc(['AC013798', 'AC021953'] );
    while( my $clone =  $seqio->next_seq ) {
      print "cloneid is ", $clone->
    }

DESCRIPTION

Allows the dynamic retrieval of Sequence objects (Bio::Seq) from the GenBank database at NCBI, via an Entrez query.

WARNING: Please do NOT spam the Entrez web server with multiple requests. NCBI offers Batch Entrez for this purpose. Batch Entrez support will likely be supported in a future version of DB::GenBank.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.

bioperl-l@bioperl.org              - General discussion
http://bioperl.org/MailList.shtml  - About the mailing lists

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via email or the web:

bioperl-bugs@bio.perl.org
http://bio.perl.org/bioperl-bugs/

AUTHOR - Aaron Mackey, Jason Stajich

Email amackey@virginia.edu Email jason@chg.mc.duke.edu

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

get_params

Title   : get_params
Usage   : my %params = $self->get_params($mode)
Function: Returns key,value pairs to be passed to NCBI database
          for either 'batch' or 'single' sequence retrieval method
Returns : a key,value pair hash
Args    : 'single' or 'batch' mode for retrieval

Routines Bio::DB::WebDBSeqI from Bio::DB::RandomAccessI

get_Seq_by_id

Title   : get_Seq_by_id
Usage   : $seq = $db->get_Seq_by_id('ROA1_HUMAN')
Function: Gets a Bio::Seq object by its name
Returns : a Bio::Seq object
Args    : the id (as a string) of a sequence
Throws  : "id does not exist" exception

get_Seq_by_acc

Title   : get_Seq_by_acc
Usage   : $seq = $db->get_Seq_by_acc($acc);
Function: Gets a Seq object by accession numbers
Returns : a Bio::Seq object
Args    : the accession number as a string
Note    : For GenBank, this just calls the same code for get_Seq_by_id()
Throws  : "id does not exist" exception

Routines implemented by Bio::DB::NCBIHelper

get_request

Title   : get_request
Usage   : my $url = $self->get_request
Function: HTTP::Request
Returns : 
Args    : %qualifiers = a hash of qualifiers (ids, format, etc)

get_Stream_by_batch

Title   : get_Stream_by_batch
Usage   : $seq = $db->get_Stream_by_batch($ref);
Function: Retrieves Seq objects from Entrez 'en masse', rather than one
          at a time.  For large numbers of sequences, this is far superior
          than get_Stream_by_[id/acc]().
Example :
Returns : a Bio::SeqIO stream object
Args    : $ref : either an array reference, a filename, or a filehandle
          from which to get the list of unique ids/accession numbers.

get_Stream_by_id

Title   : get_Stream_by_id
Usage   : $stream = $db->get_Stream_by_id( [$uid1, $uid2] );
Function: Gets a series of Seq objects by unique identifiers
Returns : a Bio::SeqIO stream object
Args    : $ref : a reference to an array of unique identifiers for
                 the desired sequence entries

get_Stream_by_acc

Title   : get_Stream_by_acc
Usage   : $seq = $db->get_Stream_by_acc([$acc1, $acc2]);
Function: Gets a series of Seq objects by accession numbers
Returns : a Bio::SeqIO stream object
Args    : $ref : a reference to an array of accession numbers for
                 the desired sequence entries
Note    : For GenBank, this just calls the same code for get_Stream_by_id()

1; __END__