The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Bio::DB::DBFetch - Database object for retrieving using the dbfetch script


  #do not use this module directly


Allows the dynamic retrieval of entries from databases using the dbfetch script at EBI:

In order to make changes transparent we have host type (currently only ebi) and location (defaults to ebi) separated out. This allows later additions of more servers in different geographical locations.

This is a superclass which is called by instantiable subclasses with correct parameters.


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.                  - General discussion  - About the mailing lists


Please direct usage questions or support issues to the mailing list:

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

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 the web:

AUTHOR - Heikki Lehvaslaiho

Email Heikki Lehvaslaiho <heikki-at-bioperl-dot-org>


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

Routines from Bio::DB::WebDBSeqI


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


 Title   : postprocess_data
 Usage   : $self->postprocess_data ( 'type' => 'string',
                                     'location' => \$datastr);
 Function: process downloaded data before loading into a Bio::SeqIO
 Returns : void
 Args    : hash with two keys - 'type' can be 'string' or 'file'
                              - 'location' either file location or string
                                           reference containing data


 Title   : default_format
 Usage   : my $format = $self->default_format
 Function: Returns default sequence format for this module
 Returns : string
 Args    : none

Bio::DB::DBFetch specific routines


  Title   : get_Stream_by_id
  Usage   : $seq = $db->get_Stream_by_id($ref);
  Function: Retrieves Seq objects from the server '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.

NOTE: for backward compatibility, this method is also called get_Stream_by_batch.


 Title   : get_Seq_by_version
 Usage   : $seq = $db->get_Seq_by_version('X77802.1');
 Function: Gets a Bio::Seq object by accession number
 Returns : A Bio::Seq object
 Args    : version number (as a string)
 Throws  : "version does not exist" exception


 Title   : request_format
 Usage   : my ($req_format, $ioformat) = $self->request_format;
 Function: Get/Set sequence format retrieval. The get-form will normally not
           be used outside of this and derived modules.
 Returns : Array of two strings, the first representing the format for
           retrieval, and the second specifying the corresponding SeqIO format.
 Args    : $format = sequence format


 Title   : servertype
 Usage   : my $servertype = $self->servertype
 Function: Get/Set server type
 Returns : string
 Args    : server type string [optional]


 Title   : hostlocation
 Usage   : my $location = $self->hostlocation()
 Function: Set/Get Hostlocation
 Returns : string representing hostlocation
 Args    : string specifying hostlocation [optional]


 Title   : location
 Usage   : my $url = $self->location_url()
 Function: Get host url
 Returns : string representing url
 Args    : none

Bio::DB::DBFetch routines

These methods allow subclasses to pass parameters.


 Title   : hosts
 Usage   : 
 Function: get/set for host hash 
 Returns : 
 Args    : optional hash


 Title   : formatmap
 Usage   : 
 Function: get/set for format hash
 Returns : 
 Args    : optional hash