Bio::DB::Registry - Access to the Open Bio Database Access registry scheme


    use Bio::DB::Registry();

    $registry = Bio::DB::Registry->new();

    @available_services = $registry->services;

    $db = $registry->get_database('embl');
    # $db is a Bio::DB::SeqI implementing class

    $seq = $db->get_Seq_by_acc("J02231");


This module provides access to the Open Bio Database Access (OBDA) scheme, which provides a single cross-language and cross-platform specification of how to get to databases. These databases may be accessible through the Web, they may be BioSQL databases, or they may be local, indexed flatfile databases.

If the user or system administrator has not installed the default init file, seqdatabase.ini, in /etc/bioinformatics or ${HOME}/.bioinformatics then creating the first Registry object copies the default settings from the The Registry object will attempt to store these settings in a new file, ${HOME}/.bioinformatics/seqdatabase.ini.

Users can specify one or more custom locations for the init file by setting $OBDA_SEARCH_PATH to those directories, where multiple directories should be separated by ';'.

Please see the OBDA Access HOWTO for more information (


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:


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


 Title   : _load_registry
 Usage   :
 Function: Looks for seqdatabase.ini files in the expected locations and
           in the directories specified by $OBDA_SEARCH_PATH. If no files
           are found download a default file from
 Returns : nothing
 Args    : none


 Title   : get_database
 Usage   : my $db = $registry->get_database($dbname);
 Function: Retrieve a Database object which implements Bio::DB::SeqI interface
 Returns : Bio::DB::SeqI object
 Args    : string describing the name of the database


 Title   : services
 Usage   : my @available = $registry->services();
 Function: returns list of possible services
 Returns : list of strings
 Args    : none


 Title   : _get_ini_files
 Usage   : my @files = $self->_get_ini_files
 Function: To find all the seqdatabase.ini files
 Returns : list of seqdatabase.ini paths
 Args    : None


 Title   : _make_private_registry
 Usage   :
 Function: Make private registry in file in $HOME
 Returns : Path to private registry file
 Args    : None