NAME
Bio::LITE::Taxonomy - Lightweight and efficient taxonomic tree manager
SYNOPSIS
use Bio::LITE::Taxonomy
my $taxNCBI = Bio::LITE::Taxonomy::NCBI->new (
names=> "/path/to/names.dmp",
nodes=>"/path/to/nodes.dmp"
);
my @taxNCBI = $taxNCBI->get_taxonomy(1442);
my $taxRDP = Bio::LITE::Taxonomy::RDP->new (
bergeyXML=>"/media/disk-1/bergeyTrainingTree.xml"
)
my @taxRDP = $taxRDP->get_taxonomy(22075);
DESCRIPTION
This module provides easy and efficient access to different taxonomies (NCBI and RDP) with minimal dependencies and without intermediate databases. This module should be used through specific taxonomic interfaces (e.g. Bio::LITE::Taxonomy::NCBI or Bio::LITE::Taxonomy::RDP).
This module is not part of the Bioperl bundle. For Bioperl alternatives, see the "SEE ALSO" section of this document. If you are dealing with big datasets or you don't need the rest of the Bioperl bundle to process taxonomic queries this module is for you.
These modules are designed with performance in mind. The trees are stored in memory (as plain hashes). The GI to Taxid mappings provided by Bio::LITE::Taxonomy::NCBI::Gi2taxid are very efficient. It also supports both NCBI and RDP taxonomies following the same interface.
METHODS
The following methods are available:
- get_taxonomy
-
Accepts a taxid as input and returns an array with its ascendants ordered from top to bottom.
my @tax = $tax->get_taxonomy($taxid); print "$_\n" for (@tax);
If called in scalar context, returns an array reference.
- get_taxonomy_with_levels
-
The same as get_taxonomy but instead of getting the ascendants returns an array of array references. Each array reference has the ascendant and its taxonomic level (at positions 0 and 1 respectively). This is simpler than it sounds. Check this:
my @taxL = $tax->get_taxonomy_with_levels($taxid); for my $l (@taxL) { print "Taxon $l->[0] has rank $l->[1]\n"; }
If called in scalar context, returns an array reference.
- get_taxid_from_name
-
Accepts the scientific name of a taxon and returns its associated taxid.
- get_taxonomy_from_name
-
Same as before but returns the full taxonomy of the scientific name. This is the same as:
my $taxid = $tax->get_taxid_from_name($name); my @taxonomy = $tax->get_taxonomy($taxid);
If called in scalar context returns an array reference.
- get_term_at_level
-
Given a taxid and a taxonomic level as input, returns the taxon. For example,
my $taxon = $tax->get_term_at_level(1442,"family"); # $taxon = Bacillaceae
- get_level_from_name
-
Given a taxon's scientific name, returns its associated taxonomic level.
SEE ALSO
Bio::LITE::Taxonomy::NCBI::Gi2taxid: Module to obtain NCBIs Taxids from GIs.
Bio::DB::Taxonomy::*: Bioperl alternative to handle taxonomies.
Bio::Taxon: Bioperl module to handle nodes in taxonomies
AUTHOR
Miguel Pignatelli
Any comments or suggestions should be addressed to emepyc@gmail.com
LICENSE
Copyright 2009 Miguel Pignatelli, all rights reserved.
This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.