Bio::DB::LocationI - A RandomAccessI-like abstract interface for retrieving location data from a sequence database and returning Bio::LocationI objects


  # get a database object somehow using a concrete class

  $loc = $db->get_Location_by_id('123456');

  # $loc is a Bio::LocationI object


This is a pure interface class - in other words, all this does is define methods which other (concrete) classes will actually implement.

The Bio::DB::LocationI class defines methods used to retrieve location data from a sequence. This is returned in the form of Bio::LocationI objects, which can include:

Bio::Location::Simple Bio::Location::Fuzzy Bio::Location::Split

At the moment it is just the ability to make Bio::LocationI objects from a name or unique id (id), an accession number (acc), and so on.


Ewan Birney originally wrote Bio::DB::RandomAccessI, from which this class is based.

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.


Email cjfields at bioperl dot org


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


 Title   : get_Location_by_id
 Usage   : $loc = $db->get_Location_by_id('123456')
 Function: Gets a Bio::LocationI-implementing object by its name (id)
 Returns : a Bio::LocationI object or undef if not found
 Args    : the id (as a string) of a sequence


 Title   : get_Location_by_acc
 Usage   : $loc = $db->get_Location_by_acc('X77802');
 Function: Gets a Bio::LocationI object by accession number
 Returns : A Bio::LocationI object or undef if not found
 Args    : accession number (as a string)
 Throws  : "more than one sequences correspond to this accession"
            if the accession maps to multiple primary ids and
            method is called in a scalar context


 Title   : get_Location_by_version
 Usage   : $loc = $db->get_Location_by_version('X77802.1');
 Function: Gets a Bio::LocationI object by sequence version
 Returns : A Bio::LocationI object
 Args    : accession.version (as a string)
 Throws  : "acc.version does not exist" exception