Bio::DB Taxonomy
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Summary
Bio::DB::Taxonomy - Access to a taxonomy database
Package variables
No package variables defined.
Included modules
Bio::Root::HTTPget
Inherit
Bio::Root::HTTPget
Synopsis
  use Bio::DB::Taxonomy;
  my $db = new Bio::DB::Taxonomy(-source => 'entrez'); # use NCBI Entrez over HTTP
  my $taxaid = $db->get_taxonid('Homo sapiens');
Description
This is a front end module for access to a taxonomy database.
Methods
newDescriptionCode
_initialize
No description
Code
get_Taxonomy_NodeDescriptionCode
get_taxonidDescriptionCode
_load_tax_moduleDescriptionCode
Methods description
newcode    nextTop
 Title   : new
 Usage   : my $obj = new Bio::DB::Taxonomy(-source => 'entrez');
 Function: Builds a new Bio::DB::Taxonomy object 
 Returns : an instance of Bio::DB::Taxonomy
 Args    : -source => which database source 'entrez' or 'localfile'
get_Taxonomy_NodecodeprevnextTop
 Title   : get_Taxonomy_Node
 Usage   : my $species = $db->get_Taxonomy_Node(-taxonid => $taxaid)
 Function: Get a Bio::Taxonomy::Taxon object for a taxonid
 Returns : Bio::Taxonomy::Taxon object
 Args    : -taxonid => taxonomy id (to query by taxonid)
            OR
           -name   => string (to query by a taxonomy name: common name, 
                              species, genus, etc)
get_taxonidcodeprevnextTop
 Title   : get_taxonid
 Usage   : my $taxonid = $db->get_taxonid('Homo sapiens');
 Function: Searches for a taxonid (typically ncbi_taxon_id) 
           based on a query string 
 Returns : Integer ID
 Args    : String representing species/node name
_load_tax_modulecodeprevnextTop
 Title   : _load_tax_module
 Usage   : *INTERNAL Bio::DB::Taxonomy stuff*
 Function: Loads up (like use) a module at run time on demand
 Example :
 Returns :
 Args    :
Methods code
newdescriptionprevnextTop
sub new {
  my($class,@args) = @_;

  if( $class =~ /Bio::DB::Taxonomy::(\S+)/ ) {
      my ($self) = $class->SUPER::new(@args);
      $self->_initialize(@args);
      return $self;
  } else { 
      my %param = @args;
      @param{ map { lc $_ } keys %param } = values %param; # lowercase keys
my $source = $param{'-source'} || $DefaultSource; $source = "\L$source"; # normalize capitalization to lower case
# normalize capitalization
return undef unless( $class->_load_tax_module($source) ); return "Bio::DB::Taxonomy::$source"->new(@args); }
}
_initializedescriptionprevnextTop
sub _initialize {
}
get_Taxonomy_NodedescriptionprevnextTop
sub get_Taxonomy_Node {
   my ($self) = @_;

    $self->throw_not_implemented();
}
get_taxoniddescriptionprevnextTop
sub get_taxonid {
   my ($self) = @_;

    $self->throw_not_implemented();
}
_load_tax_moduledescriptionprevnextTop
sub _load_tax_module {
    my ($self, $source) = @_;
    my $module = "Bio::DB::Taxonomy::" . $source;
    my $ok;

    eval { $ok = $self->_load_module($module) };
    if ( $@ ) {
	print STDERR $@;
	print STDERR <<END
$self: $source cannot be found
Exception $@
For more information about the Bio::DB::Taxonomy system please see
the Bio::DB::Taxonomy docs. This includes ways of checking for
formats at compile time, not run time.
END
; } return $ok;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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.
  bioperl-l@bioperl.org              - General discussion
  http://bioperl.org/MailList.shtml  - About the mailing lists
Reporting BugsTop
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:
  http://bugzilla.bioperl.org/
AUTHOR - Jason StajichTop
Email jason-at-bioperl.org
Describe contact details here
CONTRIBUTORSTop
Additional contributors names and emails here
APPENDIXTop
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _