Bio::Tools::Run::Ensembl - A simplified front-end for setting up the registry for, and then using an Ensembl database with the Ensembl Perl API.


  use Bio::Tools::Run::Ensembl;
  # get a Bio::EnsEMBL::Gene for agene of interest
  my $gene = Bio::Tools::Run::Ensembl->get_gene_by_name(-species => 'human',
                                                        -name => 'BRCA2');


This is a simple way of accessing the Ensembl database to retrieve gene information. Rather than learn the whole Ensembl Perl API, you only need to install it (that is, check it out from CVS: - ignore the information about BioPerl version) and then you can get information about a gene using get_gene_by_name().

For gene retrieval it is especially useful compared to direct Ensembl Perl API usage since it can use information from alternate data sources (orthologues, Swissprot, Entrez) to get your gene.


Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. 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 of the bugs and their resolution. Bug reports can be submitted via the web:

AUTHOR - Sendu Bala



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


 Title   : registry_setup
 Usage   : Bio::Tools::Run::Ensembl->registry_setup(-host => $host,
                                                    -user => $user);
           if (Bio::Tools::Run::Ensembl->registry_setup) {...}
 Function: Configure the ensembl registy to use a certain database.
           The database must be an Ensembl database compatible with the
           Ensembl Perl API, and you must have that API installed for this
           method to return true. Defaults to anonymous access to
           Or just ask if the registry is setup and the database ready to use.
 Returns : boolean (true if Registry loaded and ready to use)
 Args    : -host    => host name (defaults to '')
           -user    => username (defaults to 'anonymous')
           -pass    => password (no default)
           -port    => port (defaults to 3306)
           -db_version => version of ensembl database to use, if different from
                          your installed Ensembl modules
           -verbose => boolean (1 to print messages during database connection)
           -no_database => boolean (1 to disable database access, causing this
                           method to always return false)


 Title   : get_adaptor
 Usage   : my $adaptor = Bio::Tools::Run::Ensembl->get_adaptor($species, $type);
 Function: Get a species-specific 'core' database adaptor, optionally of a
           certain type.
 Returns : Bio::EnsEMBL::DBSQL::DBAdaptor, OR if a certain type requested, a
 Args    : Bio::Species or string (species name) (REQUIRED), AND optionally
           string (the type of adaptor, eg. 'Gene' or 'Slice').


 Title   : get_gene_by_name
 Usage   : my $gene = Bio::Tools::Run::Ensembl->get_gene_by_name();
 Function: Get a gene given species and a gene name. If multiple genes match
           this combination, tries to pick the 'best' match.
 Returns : Bio::EnsEMBL::Gene
 Args    : -species => Bio::Species or string (species name), REQUIRED
           -name => string: gene name, REQUIRED

           If searching for the supplied gene name in the supplied species
           results in no genes, or more than one, you can choose what else is
           attempted in order to find just one gene:

           -use_orthologues   => Bio::Species or string (species name), or array
                                 ref of such things: see if any of these
                                 supplied species have (unambiguously) a gene
                                 with the supplied gene name and if a
                                 (one-to-one) orthologue of that gene in that
                                 species is present in the main desired species
                                 supplied to -species, returns that orthologous
                                 gene. (default: none, do not use orthologues)
           -use_swiss_lookup  => boolean: queries swissprot at expasy and if a
                                 suitable match is found, queries ensembl with
                                 the swissprot id. (default: 0, do not use
           -use_entrez_lookup => boolean: queries entrez at the NCBI server if
                                 (only) a single gene could not be found by any
                                 other method, then query ensembl with the
                                 entrez gene id. (default: 0, do not use NCBI)

           (Attempts proceed in this order and return as soon as one method is

           -strict => boolean: return undef with no warnings if more than one,
                      or zero genes were found. (default: 0, warnings are issued
                      and if many genes were found, one of them is returned)