Raw content of Bio::EnsEMBL::ExternalData::Mole::DBSQL::TaxonomyAdaptor
package Bio::EnsEMBL::ExternalData::Mole::DBSQL::TaxonomyAdaptor;
use strict;
use Bio::EnsEMBL::ExternalData::Mole::Taxonomy;
use Bio::EnsEMBL::DBSQL::BaseAdaptor;
use Bio::EnsEMBL::ExternalData::Mole::DBSQL::DBAdaptor;
use Bio::EnsEMBL::Utils::Exception qw( deprecate throw warning stack_trace_dump );
use Bio::EnsEMBL::Utils::Argument qw(rearrange);
use vars '@ISA';
@ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor);
sub _tables {
my $self = shift;
return (['taxonomy' , 't']);
}
sub _columns {
my $self = shift;
return ( 't.taxonomy_id', 't.entry_id',
't.ncbi_tax_id');
}
sub fetch_by_dbID {
my $self = shift;
my $id = shift;
my $constraint = "t.taxonomy_id = '$id'";
my ($accession_obj) = @{ $self->generic_fetch($constraint) };
return $accession_obj;
}
sub fetch_by_Entry {
my $self = shift;
my $entry = shift;
my $sth = $self->prepare(
"SELECT t.taxonomy_id ".
"FROM taxonomy t ".
"WHERE t.entry_id = ?");
$sth->bind_param(1, $entry->dbID, SQL_INTEGER);
$sth->execute();
my $id = $sth->fetchrow();
$sth->finish();
my $taxonomy_object = $self->fetch_by_dbID($id);
return $taxonomy_object;
}
sub fetch_by_entry_id {
my ($self, $entry_id) = @_;
my $constraint = "t.entry_id = '$entry_id'";
my ($taxonomy_obj) = @{ $self->generic_fetch($constraint) };
return $taxonomy_obj;
}
sub fetch_by_ncbi_tax_id {
my ($self, $taxid) = @_;
my $constraint = "t.ncbi_tax_id = '$taxid'";
my ($ncbi_tax_id_obj) = @{ $self->generic_fetch($constraint) };
return $ncbi_tax_id_obj;
}
sub _objs_from_sth {
my ($self, $sth) = @_;
my @out;
my ( $tax_id, $entry_id, $ncbi_tax_id );
$sth->bind_columns( \$tax_id, \$entry_id, \$ncbi_tax_id );
while($sth->fetch()) {
push @out, Bio::EnsEMBL::ExternalData::Mole::Taxonomy->new(
-dbID => $tax_id,
-entry_id => $entry_id,
-adaptor => $self,
-ncbi_tax_id => $ncbi_tax_id,
);
}
return \@out;
}
1;