Raw content of Bio::EnsEMBL::Analysis::Config::Databases
# Ensembl module fohr Bio::EnsEMBL::Analysis::Config::Databases
#
# Copyright (c) 2006 Ensembl
#
# POD documentation - main docs before the code
#
=head1 NAME
Bio::EnsEMBL::Analysis::Config::Databases
=head1 SYNOPSIS
use Bio::EnsEMBL::Analysis::Config::Databases ;
=head1 DESCRIPTION
Databases.pm is the main configuration file which holds the different
parameters (usernames, hosts, passwords, ports, database-names) to
connect to different databases used in the Ensembl-Analysis pipeline.
It imports and sets a number of standard global variables into the
calling package. Without arguments all the standard variables are set,
and with a list, only those variables whose names are provided are set.
The module will die if a variable which doesn\'t appear in its
C<%Config> hash is asked to be set.
A common way to get an DBAdaptor in a module is
print "Loading database : ". $$DATABASES{REFERENCE_DB}{"-dbname"} . "\n";
my $ref_db = new Bio::EnsEMBL::DBSQL::DBAdaptor( %{ $$DATABASES{REFERENCE_DB} }) ;
OR if you write a RunnableDB:
use Bio::EnsEMBL::Analysis::RunnableDB::BaseGeneBuild;
@ISA = qw ( Bio::EnsEMBL::Analysis::RunnableDB::BaseGeneBuild )
my $genes_db = $self->get_dbadaptor("GENEBUILD_DB");
OR for normal scripts :
use Bio::EnsEMBL::Analysis::Tools::Utilities qw( get_db_adaptor_by_string );
get_db_adaptor_by_string("GENEBUILD_DB")
The variables can also be references to arrays or hashes.
Edit C<%Config> to add or alter variables.
All the variables are in capitals, so that they resemble environment
variables.
Databases is a pure ripoff of humConf written by James Gilbert.
humConf is based upon ideas from the standard perl Env environment
module.
=head1 CONTACT
ensembl-dev@ebi.ac.uk
=cut
package Bio::EnsEMBL::Analysis::Config::Databases ;
use strict;
use vars qw(%Config);
%Config= (
DATABASES => {
# MUST AT LEAST FILL IN REFERENCE_DB DETAILS. THEY SHOULD BE THE SAME AS THOSE
# SPECIFIED IN ensembl-pipeline/test_system/TestDB.conf
# The REFERENCE_DB (formely known as GB_DB) holds sequence + repeats + features
# from raw computes (e.g. ab-inito predictions, dna- or protein alignments )
REFERENCE_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# The GENEWISE_DB holds genes made by FPC_TargettedGenewise or FPC_BlastMiniGenewise
# (TGE_gw or similarity_genewise - genes ) ( formerly GB_GW_DB )
GENEWISE_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# The EXONERATE_DB ( formerly GB_cDNA ) holds alignments to cDNA's or
# EST's gene-structtures made by exonerate (Exonerate2Genes.pm)
EXONERATE_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# The BLESSED_DB (formerly GB_BLESSED) holds the 'blessed' gene-set ( if there is one )
BLESSED_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# The UTR_DB (formerly GB_COMB) holds genes made by the UTR-addtion-run
# Combine_Genewises_and_E2Gs.pm writes to UTR_DB
UTR_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
#
# GENEBUILD_DB (formerly GB_FINALDB) is the Database where
# GeneBuilder.pm writes it's results to this database and
# The Pseudogene-code READS from this database
#
GENEBUILD_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# PSEUDO_DB holds the pseudo-genes
PSEUDO_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# COALESCER_DB is the DB where TranscriptCoalescer writes it's results to
COALESCER_DB =>
{
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# OrthologueEvalutor, FindMissingGenes, etc. write it's results into ORTHOLOGUE_DB
ORTHOLOGUE_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# This database is use mainly with human an mouse for merging the
# havana get set with the ensembl genebuild
HAVANA_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# This database is use mainly with human variation genewise alignments
VARIATION_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
# Database which stores the ditags...
DITAG_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
#############
### Databases for RunnableDB/CopyGenes.pm
#############
COPY_SOURCE_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
COPY_TARGET_DB => {
-dbname => '',
-host => '',
-port => '',
-user => '',
-pass => '',
},
},
DNA_DBNAME => "REFERENCE_DB",
);
sub import {
my ($callpack) = caller(0); # Name of the calling package
my $pack = shift; # Need to move package off @_
# Get list of variables supplied, or else all
my @vars = @_ ? @_ : keys(%Config);
return unless @vars;
# Predeclare global variables in calling package
eval "package $callpack; use vars qw("
. join(' ', map { '$'.$_ } @vars) . ")";
die $@ if $@;
foreach (@vars) {
if (defined $Config{ $_ }) {
no strict 'refs';
# Exporter does a similar job to the following
# statement, but for function names, not
# scalar variables:
*{"${callpack}::$_"} = \$Config{ $_ };
} else {
die "Error: Config: $_ not known\n";
}
}
}
1;