Bio::Taxonomy::Tree.3pm

Langue: en

Version: 2008-06-24 (ubuntu - 08/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::Taxonomy::Tree - An Organism Level Implementation of TreeI interface.

SYNOPSIS

     NB: This module is deprecated. Use Bio::Taxon in combination with
     Bio::Tree::Tree instead
 
     # like from a TreeIO
     my $treeio = new Bio::TreeIO(-format => 'newick', -file => 'treefile.dnd');
     my $tree = $treeio->next_tree;
     my @nodes = $tree->get_nodes;
     my $root = $tree->get_root_node;
     my @leaves = $tree->get_leaves;
 
 

DESCRIPTION

This object holds handles to Taxonomic Nodes which make up a tree.

EXAMPLES

   use Bio::Species;
   use Bio::Taxonomy::Tree;
 
   my $human=new Bio::Species;
   my $chimp=new Bio::Species;
   my $bonobo=new Bio::Species;
 
   $human->classification(qw( sapiens Homo Hominidae
                              Catarrhini Primates Eutheria
                              Mammalia Euteleostomi Vertebrata 
                              Craniata Chordata
                              Metazoa Eukaryota ));
   $chimp->classification(qw( troglodytes Pan Hominidae
                              Catarrhini Primates Eutheria
                              Mammalia Euteleostomi Vertebrata 
                              Craniata Chordata
                              Metazoa Eukaryota ));
   $bonobo->classification(qw( paniscus Pan Hominidae
                               Catarrhini Primates Eutheria
                               Mammalia Euteleostomi Vertebrata 
                               Craniata Chordata
                               Metazoa Eukaryota ));
 
   # ranks passed to $taxonomy match ranks of species
   my @ranks = ('superkingdom','kingdom','phylum','subphylum',
                'no rank 1','no rank 2','class','no rank 3','order',
                'suborder','family','genus','species');
 
   my $taxonomy=new Bio::Taxonomy(-ranks => \@ranks,
                                  -method => 'trust',
                                  -order => -1);
 
 
   my $tree1=new Bio::Taxonomy::Tree;
   my $tree2=new Bio::Taxonomy::Tree;
 
   $tree1->make_species_branch($human,$taxonomy);
   $tree2->make_species_branch($chimp,$taxonomy);
 
   my ($homo_sapiens)=$tree1->get_leaves;
 
   $tree1->splice($tree2);
 
   $tree1->add_species($bonobo,$taxonomy);
 
   my @taxa;
   foreach my $leaf ($tree1->get_leaves) {
      push @taxa,$leaf->taxon;
   }
   print join(", ",@taxa)."\n";
 
   @taxa=();
   $tree1->remove_branch($homo_sapiens);
   foreach my $leaf ($tree1->get_leaves) {
      push @taxa,$leaf->taxon;
   }
   print join(", ",@taxa)."\n";
 
 

FEEDBACK

See AUTHOR

AUTHOR - Dan Kortschak

Email kortschak@rsbs.anu.edu.au

CONTRIBUTORS

Mainly Jason Stajich

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

  Title   : new
  Usage   : my $obj = new Bio::Taxonomy::Tree();
  Function: Builds a new Bio::Taxonomy::Tree object 
  Returns : Bio::Taxonomy::Tree
  Args    :
 
 

get_nodes

  Title   : get_nodes
  Usage   : my @nodes = $tree->get_nodes()
  Function: Return list of Bio::Taxonomy::Taxon objects
  Returns : array of Bio::Taxonomy::Taxon objects
  Args    : (named values) hash with one value 
            order => 'b|breadth' first order or 'd|depth' first order
 
 

get_root_node

  Title   : get_root_node
  Usage   : my $node = $tree->get_root_node();
  Function: Get the Top Node in the tree, in this implementation
            Trees only have one top node.
  Returns : Bio::Taxonomy::Taxon object
  Args    : none
 
 

set_root_node

  Title   : set_root_node
  Usage   : $tree->set_root_node($node)
  Function: Set the Root Node for the Tree
  Returns : Bio::Taxonomy::Taxon
  Args    : Bio::Taxonomy::Taxon
 
 

get_leaves

  Title   : get_leaves
  Usage   : my @nodes = $tree->get_leaves()
  Function: Return list of Bio::Taxonomy::Taxon objects
  Returns : array of Bio::Taxonomy::Taxon objects
  Args    :
 
 

make_species_branch

  Title   : make_species_branch
  Usage   : @nodes = $tree->make_species_branch($species,$taxonomy)
  Function: Return list of Bio::Taxonomy::Taxon objects based on a Bio::Species object
  Returns : array of Bio::Taxonomy::Taxon objects
  Args    : Bio::Species and Bio::Taxonomy objects
 
 

make_branch

  Title   : make_branch
  Usage   : $tree->make_branch($node)
  Function: Make a linear Bio::Taxonomy::Tree object from a leafish node
  Returns :
  Args    : Bio::Taxonomy::Taxon object
 
 

splice

  Title   : splice
  Usage   : @nodes = $tree->splice($tree)
  Function: Return a of Bio::Taxonomy::Tree object that is a fusion of two
  Returns : array of Bio::Taxonomy::Taxon added to tree
  Args    : Bio::Taxonomy::Tree object
 
 

add_species

  Title   : add_species
  Usage   : @nodes = $tree->add_species($species,$taxonomy)
  Function: Return a of Bio::Taxonomy::Tree object with a new species added
  Returns : array of Bio::Taxonomy::Taxon added to tree
  Args    : Bio::Species object
 
 

add_branch

  Title   : add_branch
  Usage   : $tree->add_branch($node,boolean)
  Function: Return a of Bio::Taxonomy::Tree object with a new branch added
  Returns : array of Bio::Taxonomy::Taxon objects of the resulting tree
  Args    : Bio::Taxonomy::Taxon object
            boolean flag to force overwrite of descendent
              (see Bio::Node->add_Descendent)
 
 

remove_branch

  Title   : remove_branch
  Usage   : $tree->remove_branch($node)
  Function: remove a branch up to the next multifurcation
  Returns :
  Args    : Bio::Taxonomy::Taxon object