Provided by: libbio-perl-perl_1.6.923-1_all bug


       Bio::Tree::TreeI - A Tree object suitable for lots of things, designed
         originally for Phylogenetic Trees.


         # get a Bio::Tree::TreeI somehow
         # like from a TreeIO
         my $treeio = Bio::TreeIO->new(-format => 'newick', -file => 'treefile.dnd');
         my $tree   = $treeio->next_tree;
         my @nodes  = $tree->get_nodes;
         my @leaves = $tree->get_leaf_nodes;
         my $root   = $tree->get_root_node;


       This object holds a pointer to the Root of a Tree which is a Bio::Tree::NodeI.


   Mailing Lists
       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.
                  - General discussion  - About the mailing lists

       Please direct usage questions or support issues to the mailing list:

       rather than to the module maintainer directly. Many experienced and reponsive experts will
       be able look at the problem and quickly address it. Please include a thorough description
       of the problem with code and data examples if at all possible.

   Reporting Bugs
       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:

AUTHOR - Jason Stajich



       Aaron Mackey, Elia Stupka, Sendu Bala,


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

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

        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::Tree::NodeI object
        Args    : none

        Title   : number_nodes
        Usage   : my $size = $tree->number_nodes
        Function: Find the number of nodes in the tree.
        Returns : int
        Args    : none

        Title   : total_branch_length
        Usage   : my $size = $tree->total_branch_length
        Function: Returns the sum of the length of all branches
        Returns : integer
        Args    : none

        Title   : height
        Usage   : my $height = $tree->height
        Function: Gets the height of tree - this LOG_2($number_nodes)
                  WARNING: this is only true for strict binary trees.  The TreeIO
                  system is capable of building non-binary trees, for which this
                  method will currently return an incorrect value!!
        Returns : integer
        Args    : none

        Title   : id
        Usage   : my $id = $tree->id();
        Function: An id value for the tree
        Returns : scalar
        Args    :

        Title   : score
        Usage   : $obj->score($newval)
        Function: Sets the associated score with this tree
                  This is a generic slot which is probably best used
                  for log likelihood or other overall tree score
        Returns : value of score
        Args    : newvalue (optional)

        Title   : get_leaf_nodes
        Usage   : my @leaves = $tree->get_leaf_nodes()
        Function: Returns the leaves (tips) of the tree
        Returns : Array of Bio::Tree::NodeI objects
        Args    : none

   Methods for associating Tag/Values with a Tree
       These methods associate tag/value pairs with a Tree

        Title   : set_tag_value
        Usage   : $tree->set_tag_value($tag,$value)
        Function: Sets a tag value(s) to a tree. Replaces old values.
        Returns : number of values stored for this tag
        Args    : $tag   - tag name
                  $value - value to store for the tag

        Title   : add_tag_value
        Usage   : $tree->add_tag_value($tag,$value)
        Function: Adds a tag value to a tree
        Returns : number of values stored for this tag
        Args    : $tag   - tag name
                  $value - value to store for the tag

        Title   : remove_tag
        Usage   : $tree->remove_tag($tag)
        Function: Remove the tag and all values for this tag
        Returns : boolean representing success (0 if tag does not exist)
        Args    : $tag - tagname to remove

        Title   : remove_all_tags
        Usage   : $tree->remove_all_tags()
        Function: Removes all tags
        Returns : None
        Args    : None

        Title   : get_all_tags
        Usage   : my @tags = $tree->get_all_tags()
        Function: Gets all the tag names for this Tree
        Returns : Array of tagnames
        Args    : None

        Title   : get_tag_values
        Usage   : my @values = $tree->get_tag_values($tag)
        Function: Gets the values for given tag ($tag)
        Returns : Array of values or empty list if tag does not exist
        Args    : $tag - tag name

        Title   : has_tag
        Usage   : $tree->has_tag($tag)
        Function: Boolean test if tag exists in the Tree
        Returns : Boolean
        Args    : $tag - tagname