Bio::EnsEMBL::DBSQL DBAdaptor
SummaryPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::DBSQL::DBAdaptor
Package variables
Privates (from "my" definitions)
$reg = "Bio::EnsEMBL::Registry"
Included modules
Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor
Bio::EnsEMBL::DBSQL::DBConnection
Bio::EnsEMBL::Registry
Bio::EnsEMBL::Utils::Argument qw ( rearrange )
Bio::EnsEMBL::Utils::ConfigRegistry
Bio::EnsEMBL::Utils::Exception qw ( throw warning deprecate )
Bio::EnsEMBL::Utils::SeqRegionCache
Synopsis
  $db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(
-user => 'root',
-dbname => 'pog',
-host => 'caldy',
-driver => 'mysql'
);
$gene_adaptor = $db->get_GeneAdaptor(); $gene = $gene_adaptor->fetch_by_stable_id($stable_id); $slice = $db->get_SliceAdaptor()->fetch_by_chr_start_end( 'X', 1, 10000 );
Description
Formerly this class provided database connectivity and a means
to retrieve object adaptors. This class is now provided for
convenience and backwards compatibility, and delegates its connection
responsibilities to the DBConnection class (no longer inherited from)
and its object adaptor retrieval to the static Bio::EnsEMBL::Registry.
Please use Bio::EnsEMBL::Registry to retrieve object adaptors.
Methods
AUTOLOAD
No description
Code
_each_DASFeatureFactoryDescriptionCode
_get_schema_build
No description
Code
add_DASFeatureFactoryDescriptionCode
add_ExternalFeatureAdaptorDescriptionCode
add_ExternalFeatureFactoryDescriptionCode
add_GenericFeatureAdaptorDescriptionCode
add_db_adaptorDescriptionCode
all_speciesDescriptionCode
assembly_typeDescriptionCode
dbDescriptionCode
db_handle
No description
Code
dbcDescriptionCode
dbname
No description
Code
disconnect_when_inactive
No description
Code
dnadbDescriptionCode
driver
No description
Code
get_ExternalFeatureAdaptorsDescriptionCode
get_GenericFeatureAdaptorsDescriptionCode
get_SeqRegionCacheDescriptionCode
get_adaptorDescriptionCode
get_all_db_adaptorsDescriptionCode
get_available_adaptorsDescriptionCode
get_db_adaptorDescriptionCode
groupDescriptionCode
host
No description
Code
is_multispeciesDescriptionCode
list_supported_assembliesDescriptionCode
newDescriptionCode
no_cacheDescriptionCode
password
No description
Code
port
No description
Code
prepare
No description
Code
remove_all_DASFeatureFactories
No description
Code
remove_db_adaptorDescriptionCode
set_adaptorDescriptionCode
speciesDescriptionCode
species_idDescriptionCode
username
No description
Code
Methods description
_each_DASFeatureFactorycode    nextTop
  Args       : none
Example : none
Description: Not sure if this is used, or if it should be removed. It
does not seem to be used at the moment
Returntype : Bio::EnsEMBL::ExternalFeatureFactory
Exceptions : none
Caller : ??
Status : At Risk
: with the new web code this may not be needed/supported
add_DASFeatureFactorycodeprevnextTop
  Arg [1]    : Bio::EnsEMBL::ExternalFeatureFactory $value 
Example : none
Description: Attaches a DAS Feature Factory to this method.
ExternalFeatureFactory objects are not really used right now.
They may be reintroduced or taken out completely. The fate
of this function is unknown (although it is presently needed).
Returntype : none
Exceptions : none
Caller : EnsWeb
Status : At Risk
: with the new web code this may not be needed/supported
add_ExternalFeatureAdaptorcodeprevnextTop
  Arg [1]    : Bio::EnsEMBL::External::ExternalFeatureAdaptor
Example : $db_adaptor->add_ExternalFeatureAdaptor($xfa);
Description: Adds an external feature adaptor to this database adaptor.
Adding the external adaptor in this way allows external
features to be obtained from Slices and from RawContigs.
The external feature adaptor which is passed to this method will have its db attribuite set to this DBAdaptor object via the db accessor method. ExternalFeatureAdaptors passed to this method are stored internally in a hash keyed on the string returned by the ExternalFeatureAdaptors track_name method. If the track name method is not implemented then the a default key named 'External features' is assigned. In the event of duplicate key names, a number is appended to the key name, and incremented for each subsequent adaptor with the same track name. For example, if no track_names are specified then the the external feature adaptors will be stored under the keys 'External features', 'External features2' 'External features3' etc. Returntype : none Exceptions : none Caller : general
add_ExternalFeatureFactorycodeprevnextTop
  Arg [1]    : Bio::EnsEMBL::DB::ExternalFeatureFactoryI $value
Example : $db_adaptor->add_ExternalFeatureFactory
Description: It is recommended that add_ExternalFeatureAdaptor be used
instead. See documentation for
Bio::EnsEMBL::External::ExternalFeatureAdaptor
Adds an external feature factory to the core database so that features from external sources can be displayed in ensembl. This method is still available mainly for legacy support for external EnsEMBL installations. Returntype : none Exceptions : none Caller : external
add_GenericFeatureAdaptorcodeprevnextTop
  Arg [1]    : The name of the feature.
Arg [2] : Adaptor object for a generic feature.
Example : $db->add_GenericFeatureAdaptor("SomeFeature",
"Bio::EnsEMBL::DBSQL::SomeFeatureAdaptor")
Description: Stores the object which represents the adaptor for the
named feature type.
Returntype : none
Exceptions :
Caller : external
add_db_adaptorcodeprevnextTop
  Arg [1]    : string $name
the name of the database to attach to this database
Arg [2] : Bio::EnsEMBL::DBSQL::DBConnection
the db adaptor to attach to this database
Example : $db->add_db_adaptor('lite', $lite_db_adaptor);
Description: Attaches another database instance to this database so
that it can be used in instances where it is required.
Returntype : none
Exceptions : none
Caller : EnsWeb
Status : At Risk
: may get deprecated, please use add_db from the registry instead
all_speciescodeprevnextTop
  Args       : NONE
Example : @all_species = @{$dba->all_species()};
Description: Returns the names of all species contained in the
database to which this DBAdaptor is connected.
Returntype : array reference
Exceptions : none
Caller : general
Status : Stable
assembly_typecodeprevnextTop
  Description: DEPRECATED - Use CoordSystemAdaptor to obtain default coordinate
system instead.
dbcodeprevnextTop
  
Description: DEPRECATED
dbccodeprevnextTop
  Arg[1]    : (optional) Bio::EnsEMBL::DBSQL::DBConnection
Exmaple : $dbc = $dba->dbc(); Description: Getter/Setter for DBConnection. Returntype : Bio::EnsEMBL::DBSQL::DBConnection Exceptions : throws if argument not a Bio::EnsEMBL::DBSQL::DBConnection Caller : general Status : Stable
dnadbcodeprevnextTop
 Title   : dnadb
Usage : my $dnadb = $db->dnadb();
Function: returns the database adaptor where the dna lives
Useful if you only want to keep one copy of the dna
on disk but have other databases with genes and features in
Returns : dna database adaptor
Args : Bio::EnsEMBL::DBSQL::BaseAdaptor
Status : Medium Risk.
: Use the Registry method add_DNAAdaptor/get_DNAAdaptor instead
get_ExternalFeatureAdaptorscodeprevnextTop
  Arg [1]    : none
Example : @xfas = values %{$db_adaptor->get_ExternalFeatureAdaptors};
Description: Retrieves all of the ExternalFeatureAdaptors which have been
added to this DBAdaptor. The ExternalFeatureAdaptors are
returned in a reference to a hash keyed on the track names
of the external adaptors
Returntype : Reference to a hash of ExternalFeatureAdaptors keyed on
their track names.
Exceptions : none
Caller : general
get_GenericFeatureAdaptorscodeprevnextTop
  Arg [1]    : List of names of feature adaptors to get. If no
adaptor names are given, all the defined adaptors are returned.
Example : $db->get_GenericFeature("SomeFeature", "SomeOtherFeature")
Description: Returns a hash containing the named feature adaptors (or
all feature adaptors).
Returntype : reference to a Hash containing the named
feature adaptors (or all feature adaptors).
Exceptions : If any of the the named generic feature adaptors do not exist.
Caller : external
get_SeqRegionCachecodeprevnextTop
  Arg [1]    : none
Example : my $srcache = $dba->get_SeqRegionCache();
Description: Retrieves a seq_region cache for this database
Returntype : Bio::EnsEMBL::Utils::SeqRegionCache
Exceptions : none
Caller : SliceAdaptor, AssemblyMapperAdaptor
Status : Stable
get_adaptorcodeprevnextTop
  Arg [1]    : Canonical data type for which an adaptor is required.
Example : $db_adaptor->get_adaptor("Protein")
Description: Gets an adaptor object for a standard data type.
Returntype : Adaptor Object of arbitrary type or undef
Exceptions : none
Caller : external
Status : Medium Risk
: please use the Registry method, as at some time this
: may no longer be supprted.
get_all_db_adaptorscodeprevnextTop
  Arg [1]    : none
Example : @attached_dbs = values %{$db->get_all_db_adaptors()};
Description: returns all of the attached databases as
a hash reference of key/value pairs where the keys are
database names and the values are the attached databases
Returntype : hash reference with Bio::EnsEMBL::DBSQL::DBConnection values
Exceptions : none
Caller : Bio::EnsEMBL::DBSQL::ProxyAdaptor
Status : At Risk
: may get deprecated soon
: please use Bio::EnsEMBL::Registry->get_all_db_adaptors
get_available_adaptorscodeprevnextTop
  Example    : my %pairs = %{$dba->get_available_adaptors()};
Description: gets a hash of the available adaptors
ReturnType : reference to a hash
Exceptions : none
Caller : Bio::EnsEMBL::Utils::ConfigRegistry
Status : Stable
get_db_adaptorcodeprevnextTop
  Arg [1]    : string $name
the name of the attached database to retrieve
Example : $lite_db = $db->get_db_adaptor('lite');
Description: returns an attached db adaptor of name $name or undef if
no such attached database exists
Returntype : Bio::EnsEMBL::DBSQL::DBConnection
Exceptions : none
Caller : ?
Status : At Risk
: may get deprecated soon
: please use Bio::EnsEMBL::Registry->get_db_adaptors
groupcodeprevnextTop
  Arg [1]    : (optional) string $arg
The new value of the group used by this DBAdaptor.
Example : $group = $dba->group()
Description: Getter/Setter for the group of to use for
this connection. There is currently no point in setting
this value after the connection has already been established
by the constructor.
Returntype : string
Exceptions : none
Caller : new
Status : Stable
is_multispeciescodeprevnextTop
  Arg [1]    : (optional) boolean $arg
Example : if ($dba->is_multispecies()) { }
Description: Getter/Setter for the is_multispecies boolean of
to use for this connection. There is currently no
point in setting this value after the connection has
already been established by the constructor.
Returntype : boolean
Exceptions : none
Caller : new
Status : Stable
list_supported_assembliescodeprevnextTop
  Description: DEPRECATED - Use CoordSystemAdaptor to obtain list of top-level
coordinate systems instead
newcodeprevnextTop
  Arg [-DNADB]: (optional) Bio::EnsEMBL::DBSQL::DBAdaptor DNADB 
All sequence, assembly, contig information etc, will
be retrieved from this database instead.
Arg [-NO_CACHE]: (optional) int 1 This option will turn off caching for slice features, so, every time a set of features is retrieved, they will come from the database instead of the cache. This option is only recommended for advanced users, specially if you need to store and retrieve features. It might reduce performance when querying the database if not used properly. If in doubt, do not use it or ask in ensembl-dev. Arg [..] : Other args are passed to superclass Bio::EnsEMBL::DBSQL::DBConnection Example : $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -user => 'root', -dbname => 'pog', -host => 'caldy', -driver => 'mysql' ); Exmaple2 : $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -species => 'Homo_sapiens', -group => 'core' -user => 'root', -dbname => 'pog', -host => 'caldy', -driver => 'mysql' ); Exmaple3 : $db = new Bio::EnsEMBL::DBSQL::DBAdaptor( -species => 'staphylococcus_aureus', -group => 'core' -user => 'root', -dbname => 'staphylococcus_collection_1_52_1a', -multispecies_db => 1, -host => 'caldy', -driver => 'mysql' ); Description: Constructor for DBAdaptor. Returntype : Bio::EnsEMBL::DBSQL::DBAdaptor Exceptions : none Caller : general Status : Stable
no_cachecodeprevnextTop
  Arg [1]    : (optional) int $arg
The new value of the no cache attribute used by this DBAdaptor.
Example : $no_cache = $dba->no_cache();
Description: Getter/Setter for the no_cache to use for
this connection. There is currently no point in setting
this value after the connection has already been established
by the constructor.
Returntype : int
Exceptions : none
Caller : new
Status : Stable
remove_db_adaptorcodeprevnextTop
  Arg [1]    : string $name
the name of the database to detach from this database.
Example : $lite_db = $db->remove_db_adaptor('lite');
Description: Detaches a database instance from this database and returns
it.
Returntype : none
Exceptions : none
Caller : ?
Status : At Risk
: mey get deprecated, use remove_db instead from the Registry
set_adaptorcodeprevnextTop
  Arg [1]    : Canonical data type for new adaptor.
Arg [2] : Object defining the adaptor for arg1.
Example : $aa = Bio::EnsEMBL::DBSQL::GeneAdaptor->new($db_adaptor);
: $db_adaptor->set_adaptor("Gene", $ga)
Description: Stores the object which represents the adaptor for the
arg1 data type.
Returntype : none
Exceptions : none
Caller : external
Status : Medium Risk
: please use the Registry method, as at some time this
: may no longer be supprted.
speciescodeprevnextTop
  Arg [1]    : (optional) string $arg
The new value of the species used by this DBAdaptor.
Example : $species = $dba->species()
Description: Getter/Setter for the species of to use for
this connection. There is currently no point in setting
this value after the connection has already been established
by the constructor.
Returntype : string
Exceptions : none
Caller : new
Status : Stable
species_idcodeprevnextTop
  Arg [1]    : (optional) string $arg
The new value of the species_id used by this DBAdaptor
when dealing with multi-species databases.
Example : $species_id = $dba->species_id()
Description: Getter/Setter for the species_id of to use for this
connection. There is currently no point in setting
this value after the connection has already been
established by the constructor.
Returntype : string
Exceptions : none
Caller : new
Status : Stable
Methods code
AUTOLOADdescriptionprevnextTop
sub AUTOLOAD {
  my ($self,@args) = @_;

  my $type;
  if($AUTOLOAD =~ /^.*::get_(\w+)Adaptor$/){ 
    $type = $1;
  }
  elsif($AUTOLOAD =~ /^.*::get_(\w+)$/){ 
    $type = $1;
  }
  else{
    throw("Could not work out type for $AUTOLOAD\n ");
  }

  my  $ret = $reg->get_adaptor($self->species(),$self->group(),$type);

  if($ret){
    return $ret;
  }
  else{
    throw( "Couldnt get adaptor $type for ".$self->species." ".$self->group."\n");
    warning("Could not find $type adaptor in the registry for ".$self->species." ".$self->group."\n");
    return $ret;
  }
  die("No such method: $AUTOLOAD\n");
}
_each_DASFeatureFactorydescriptionprevnextTop
sub _each_DASFeatureFactory {
   my ($self) = @_;

   return @{$self->{'_das_ff'}||[]}
}


################################################################## 
#
# SUPPORT FOR EXTERNAL FEATURE FACTORIES
#
##################################################################
}
_get_schema_builddescriptionprevnextTop
sub _get_schema_build {
  my ($self) = @_;

  #avoided using dnadb by default to avoid obfuscation of behaviour
my @dbname = split/_/, $self->dbc->dbname(); #warn "dbname is $schema_build";
my $schema_build = pop @dbname; $schema_build = pop(@dbname).'_'.$schema_build; return $schema_build;
}
add_DASFeatureFactorydescriptionprevnextTop
sub add_DASFeatureFactory {
 
 my ($self,$value) = @_;
  
  push(@{$self->{'_das_ff'}},$value);
}
add_ExternalFeatureAdaptordescriptionprevnextTop
sub add_ExternalFeatureAdaptor {
  my ($self, $adaptor) = @_;

  unless($adaptor && ref $adaptor && 
	 $adaptor->isa('Bio::EnsEMBL::External::ExternalFeatureAdaptor')) {
     throw("[$adaptor] is not a " .
           "Bio::EnsEMBL::External::ExternalFeatureAdaptor");
  }

  unless(exists $self->{'_xf_adaptors'}) {
    $self->{'_xf_adaptors'} = {};
  }

  my $track_name = $adaptor->{'_track_name'};
  if(!$track_name) {
    $track_name = $adaptor->track_name();
  }

  #use a generic track name if one hasn't been defined
unless(defined $track_name) { $track_name = "External features"; } #if the track name exists add numbers to the end until a free name is found
if(exists $self->{'_xf_adaptors'}->{"$track_name"}) { my $num = 2; $num++ while(exists $self->{'_xf_adaptors'}->{"$track_name$num"}); $self->{'_xf_adaptors'}->{"$track_name$num"} = $adaptor; } else { $self->{'_xf_adaptors'}->{"$track_name"} = $adaptor; } $adaptor->ensembl_db($self);
}
add_ExternalFeatureFactorydescriptionprevnextTop
sub add_ExternalFeatureFactory {
   my ($self,$value) = @_;

   $self->add_ExternalFeatureAdaptor($value);
}

#
# OVERWRITABLE STANDARD ADAPTORS
#
}
add_GenericFeatureAdaptordescriptionprevnextTop
sub add_GenericFeatureAdaptor {
  my ($self, $name, $adaptor_obj) = @_;
	
  # check that $adaptor is an object that subclasses BaseFeatureAdaptor	
if (!$adaptor_obj->isa("Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor")) { throw("$name is a " . ref($adaptor_obj) . "which is not a " . "subclass of Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor" ); } $self->{'generic_feature_adaptors'}->{$name} = $adaptor_obj;
}
add_db_adaptordescriptionprevnextTop
sub add_db_adaptor {
  my ($self, $name, $adaptor) = @_;

  unless($name && $adaptor && ref $adaptor) {
    throw('adaptor and name arguments are required');
  }

  Bio::EnsEMBL::Registry->add_db($self, $name, $adaptor);
}
all_speciesdescriptionprevnextTop
sub all_species {
  my ($self) = @_;

  if ( !$self->is_multispecies() ) { return [ $self->species() ] }

  if ( exists( $self->{'_all_species'} ) ) {
    return $self->{'_all_species'};
  }

  my $statement =
      "SELECT meta_value "
    . "FROM meta "
    . "WHERE meta_key = 'species.db_name'";

  my $sth = $self->dbc()->db_handle()->prepare($statement);

  $sth->execute();

  my $species;
  $sth->bind_columns(\$ species );

  my @all_species;
  while ( $sth->fetch() ) { push( @all_species, $species ) }

  $self->{'_all_species'} =\@ all_species;

  return $self->{'_all_species'};
} ## end sub all_species
}
assembly_typedescriptionprevnextTop
sub assembly_type {
  my $self = shift;

  deprecate('Use CoordSystemAdaptor $csa->fetch_all->[0]->version() instead');

  my $csa = $self->get_CoordSystemAdaptor();
  my ($cs) = @{$csa->fetch_all()};
  return ($cs) ? $cs->version() : undef;
}
dbdescriptionprevnextTop
sub db {
  my ($self, $arg ) = @_;
 deprecate("db Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
 return $self->dbc($arg);
}
db_handledescriptionprevnextTop
sub db_handle {
  my ($self, @args) = @_;


 deprecate("db_handle Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->db_handle(@args);
}


1;
}
dbcdescriptionprevnextTop
sub dbc {
  my $self  = shift;
  
  if(@_){
    my $arg = shift;
    if(defined($arg)){
      if(!$arg->isa('Bio::EnsEMBL::DBSQL::DBConnection')){
	throw("$arg is no a DBConnection\n");
      }
    }
    $self->{_dbc} = $arg;
  }
  return $self->{_dbc};
}
dbnamedescriptionprevnextTop
sub dbname {
  my ($self, @args) = @_;

 deprecate("dbname Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->dbname(@args);
}
disconnect_when_inactivedescriptionprevnextTop
sub disconnect_when_inactive {
  my ($self, @args) = @_;

 deprecate("disconnect_when_inactive Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->disconnect_when_inactive(@args);
}
dnadbdescriptionprevnextTop
sub dnadb {
  my $self = shift;

  if(@_) {
    my $arg = shift;
    $reg->add_DNAAdaptor($self->species(),$self->group(),$arg->species(),$arg->group());
  }

#  return $self->{'dnadb'} || $self;
return $reg->get_DNAAdaptor($self->species(),$self->group()) || $self; } use vars '$AUTOLOAD';
}
driverdescriptionprevnextTop
sub driver {
  my ($self, @args) = @_;

 deprecate("driver Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->driver(@args);
}
get_ExternalFeatureAdaptorsdescriptionprevnextTop
sub get_ExternalFeatureAdaptors {
  my $self = shift;

  return $self->{'_xf_adaptors'};
}
get_GenericFeatureAdaptorsdescriptionprevnextTop
sub get_GenericFeatureAdaptors {
  my ($self, @names) = @_;

  my %adaptors = ();

  if (!@names) {
    %adaptors = %{$self->{'generic_feature_adaptors'}};
  } else {
    foreach my $name (@names) {
      if (!exists($self->{'generic_feature_adaptors'}->{$name})) {
        throw("No generic feature adaptor has been defined for $name" );
      }


      $adaptors{$name} = $self->{'generic_feature_adaptors'}->{$name};
    }
  }

  return\% adaptors;
}
get_SeqRegionCachedescriptionprevnextTop
sub get_SeqRegionCache {
  my $self = shift;

  # use the cache from the database where seq_regions are stored
if($self != $self->dnadb()) { return $self->dnadb()->get_SeqRegionCache(); } if(!$self->{'seq_region_cache'}) { $self->{'seq_region_cache'} = Bio::EnsEMBL::Utils::SeqRegionCache->new(); } return $self->{'seq_region_cache'}; } #convenient method to retrieve the schema_build version for the database being used
}
get_adaptordescriptionprevnextTop
sub get_adaptor {
  my ($self, $canonical_name, @other_args) = @_;

  return $reg->get_adaptor($self->species(),$self->group(),$canonical_name);
}
get_all_db_adaptorsdescriptionprevnextTop
sub get_all_db_adaptors {
  my ($self) = @_;
  return Bio::EnsEMBL::Registry->get_all_db_adaptors($self);
}
get_available_adaptorsdescriptionprevnextTop
sub get_available_adaptors {
  my %pairs = (
    # Firstly those that just have an adaptor named after there object
# in the main DBSQL directory.
map( { $_ => "Bio::EnsEMBL::DBSQL::${_}Adaptor" } qw( AffyFeature AffyArray AffyProbe Analysis ArchiveStableId Attribute AssemblyExceptionFeature AssemblyMapper CoordSystem CompressedSequence DBEntry DnaAlignFeature DensityFeature DensityType Exon Gene KaryotypeBand MiscSet MiscFeature OligoArray OligoFeature OligoProbe PredictionTranscript PredictionExon ProteinFeature ProteinAlignFeature RepeatConsensus RepeatFeature Sequence SimpleFeature Slice SupportingFeature Transcript TranscriptSupportingFeature Translation UnmappedObject UnconventionalTranscriptAssociation AssemblySlice ) ), # Those whose adaptors are in Map::DBSQL
map( { $_ => "Bio::EnsEMBL::Map::DBSQL::${_}Adaptor" } qw( Marker MarkerFeature QtlFeature Qtl Ditag DitagFeature ) ), # Finally the exceptions... those that have non-standard mapping
# between object / adaptor ....
# 'Blast' => 'Bio::EnsEMBL::External::BlastAdaptor',
'MetaCoordContainer' => 'Bio::EnsEMBL::DBSQL::MetaCoordContainer', 'MetaContainer' => 'Bio::EnsEMBL::DBSQL::MetaContainer', 'SNP' => 'Bio::EnsEMBL::DBSQL::ProxySNPAdaptor', # Feature Collections:
'GeneCollection' => 'Bio::EnsEMBL::Collection::Gene', 'TranscriptCollection' => 'Bio::EnsEMBL::Collection::Transcript', 'ExonCollection' => 'Bio::EnsEMBL::Collection::Exon', 'RepeatFeatureCollection' => 'Bio::EnsEMBL::Collection::RepeatFeature' ); return (\% pairs ); } ## end sub get_available_adaptors
###########################################################
#
# Support for DAS
#
###########################################################
}
get_db_adaptordescriptionprevnextTop
sub get_db_adaptor {
  my ($self, $name) = @_;

  return Bio::EnsEMBL::Registry->get_db($self, $name);
}
groupdescriptionprevnextTop
sub group {
  my ($self, $arg ) = @_;
  ( defined $arg ) &&
    ( $self->{_group} = $arg );
  $self->{_group};
}
hostdescriptionprevnextTop
sub host {
  my ($self, @args) = @_;

 deprecate("host Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->host(@args);
}
is_multispeciesdescriptionprevnextTop
sub is_multispecies {
  my ( $self, $arg ) = @_;

  if ( defined($arg) ) {
    $self->{_is_multispecies} = $arg;
  }

  return $self->{_is_multispecies};
}
list_supported_assembliesdescriptionprevnextTop
sub list_supported_assemblies {
  my($self) = @_;
  deprecate('Use CoordSystemAdaptor::fetch_all instead');

  my $csa = $self->get_CoordSystemAdaptor();
  my %versions;
  foreach my $cs (@{$csa->fetch_all()}) {
    $versions{$cs->version()} = 1;
  }

  return keys %versions;
}
newdescriptionprevnextTop
sub new {
  my ( $class, @args ) = @_;

  my $self = bless {}, $class;

  my ( $is_multispecies, $species, $species_id, $group, $con, $dnadb,
    $no_cache )
    = rearrange( [
      'MULTISPECIES_DB', 'SPECIES', 'SPECIES_ID', 'GROUP',
      'DBCONN',          'DNADB',   'NO_CACHE'
    ],
    @args
    );

  if ( defined($con) ) { $self->dbc($con) }
  else {
    $self->dbc( new Bio::EnsEMBL::DBSQL::DBConnection(@args) );
  }

  if ( defined($species) ) { $self->species($species) }
  if ( defined($group) )   { $self->group($group) }

  $self = Bio::EnsEMBL::Utils::ConfigRegistry::gen_load($self);

  $self->species_id( $species_id || 1 );

  $self->is_multispecies( defined($is_multispecies)
                          && $is_multispecies == 1 );

  if ( defined($dnadb) )    { $self->dnadb($dnadb) }
  if ( defined($no_cache) ) { $self->no_cache($no_cache) }

  return $self;
} ## end sub new
}
no_cachedescriptionprevnextTop
sub no_cache {
  my ($self, $arg ) = @_;

  if ( defined $arg ){
      if ($arg != 1 && $arg != 0){
	  throw("$arg is not allowed for this attribute. Only value 1|0 is allowed");
      }
      $self->{_no_cache} = $arg;
  }
  $self->{_no_cache};
}
passworddescriptionprevnextTop
sub password {
  my ($self, @args) = @_;

 deprecate("password Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->password(@args);
}
portdescriptionprevnextTop
sub port {
  my ($self, @args) = @_;

 deprecate("port Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->port(@args);
}
preparedescriptionprevnextTop
sub prepare {
  my ($self, @args) = @_;

 deprecate("prepare Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->prepare(@args);
}
remove_all_DASFeatureFactoriesdescriptionprevnextTop
sub remove_all_DASFeatureFactories {
  $_[0]->{'_das_ff'} = [];
}
remove_db_adaptordescriptionprevnextTop
sub remove_db_adaptor {
  my ($self, $name) = @_;

  return Bio::EnsEMBL::Registry->remove_db($self, $name);
}
set_adaptordescriptionprevnextTop
sub set_adaptor {
  my ($self, $canonical_name, $module) = @_;

  $reg->add_adaptor($self->species(),$self->group(),$canonical_name,$module);

  return $module;
}


#
# GENERIC FEATURE ADAPTORS
#
}
speciesdescriptionprevnextTop
sub species {
  my ( $self, $arg ) = @_;

  if ( defined($arg) ) {
    $self->{_species} = $arg;
  }

  $self->{_species};
}
species_iddescriptionprevnextTop
sub species_id {
  my ( $self, $arg ) = @_;

  if ( defined($arg) ) {
    $self->{_species_id} = $arg;
  }

  return $self->{_species_id};
}
usernamedescriptionprevnextTop
sub username {
  my ($self, @args) = @_;

 deprecate("username Should no longer be called from the DBAdaptor. DBConnection should now be used OR preferably the object adaptor itself\n");
  $self->dbc->username(@args);
}
General documentation
LICENSETop
  Copyright (c) 1999-2009 The European Bioinformatics Institute and
Genome Research Limited. All rights reserved.
This software is distributed under a modified Apache license. For license details, please see /info/about/code_licence.html
CONTACTTop
  Please email comments or questions to the public Ensembl
developers list at <ensembl-dev@ebi.ac.uk>.
Questions may also be sent to the Ensembl help desk at <helpdesk@ensembl.org>.