From cdea112be1f80c675f40cbb94a7197bfbaaf9bf2 Mon Sep 17 00:00:00 2001 From: Web Admin <w3adm@sanger.ac.uk> Date: Thu, 11 Oct 2001 08:14:44 +0000 Subject: [PATCH] Added get_LiteAdaptor - a way into the lite database to speed up calls --- modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm | 43 +++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm index 988eadcbc7..02e3080154 100755 --- a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm @@ -82,7 +82,8 @@ sub new { my ( $db, $mapdbname, - $dnadb, + $litedbname, + $dnadb, $host, $driver, $user, @@ -92,9 +93,10 @@ sub new { $perlonlysequences, $external, $port, - ) = $self->_rearrange([qw( - DBNAME + ) = $self->_rearrange([qw( + DBNAME MAPDBNAME + LITEDBNAME DNADB HOST DRIVER @@ -105,7 +107,7 @@ sub new { PERLONLYSEQUENCES EXTERNAL PORT - )],@args); + )],@args); $db || $self->throw("Database object must have a database name"); $user || $self->throw("Database object must have a user"); @@ -168,6 +170,7 @@ sub new { $self->password( $password); # following was added on branch; unclear if it is needed: $self->mapdbname( $mapdbname ); +# $self->litedbname( $litedbname ); if ($perl && $perl == 1) { $Bio::EnsEMBL::FeatureFactory::USE_PERL_ONLY = 1; @@ -195,6 +198,11 @@ sub new { }; } + # Store info for connecting to a litedb. + { + $litedbname ||= 'lite'; + $self->{'_lite_db_name'} = $litedbname; + } return $self; # success - we hope! } @@ -773,7 +781,7 @@ sub mapdb { # mapdb is called), connect to the map database. if (ref($map) eq 'HASH') { require Bio::EnsEMBL::Map::DBSQL::Obj; - $self->{'_mapdb'} = Bio::EnsEMBL::Map::DBSQL::Obj->new(%$map); + $self->{'_mapdb'} = Bio::EnsEMBL::Map::DBSQL::Obj->new( %$map ); } } return $self->{'_mapdb'}; @@ -790,8 +798,6 @@ sub mapdbname { return $self->{_mapdbname}; } - - =head2 write_Species Title : write_Species @@ -2277,6 +2283,29 @@ sub get_GeneAdaptor { return $ga; } +=head2 get_LiteAdaptor; + + Title : get_LiteAdaptor + Usage : my $la = $db->get_LiteAdaptor; + Function: Returns the lite database object handler + Example : + Returns : Bio::EnsEMBL::DBSQL::LiteAdaptor + Args : + +=cut +sub get_LiteAdaptor { + my( $self ) = @_; + + my $la; + unless ($la = $self->{'_lite_adaptor'}) { + require Bio::EnsEMBL::DBSQL::LiteAdaptor; + $la = Bio::EnsEMBL::DBSQL::LiteAdaptor->new( $self ); +# $la->{'lite_db_name'} = $self->{'lite_db_name'}; + $self->{'_lite_adaptor'} = $la; + } + return $la; +} + sub get_ExonAdaptor { my( $self ) = @_; -- GitLab