NAME
Bio::Tree::NodeI - Interface describing a Tree Node
SYNOPSIS
# get a Tree::NodeI somehow
# like from a TreeIO
use Bio::TreeIO;
# read in a clustalw NJ in phylip/newick format
my $treeio = new Bio::TreeIO(-format => 'newick', -file => 'file.dnd');
my $tree = $treeio->next_tree; # we'll assume it worked for demo purposes
my $rootnode = $tree->get_root_node;
# process just the next generation
foreach my $node ( $tree->each_Descendent() ) {
print "branch len is ", $node->branch_length, "\n";
}
# process all the children
foreach my $node ( $tree->get_Descendents() ) {
if( $node->is_Leaf ) {
print "node is a leaf ... ";
}
print "branch len is ", $node->branch_length, "\n";
}
DESCRIPTION
A NodeI is capable of the basic structure of building a tree and storing the branch length between nodes. The branch length is the length of the branch between the node and its ancestor, thus a root node in a Tree will not typically have a valid branch length.
FEEDBACK
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.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/MailList.shtml - About the mailing lists
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 email or the web:
bioperl-bugs@bioperl.org
http://bioperl.org/bioperl-bugs/
AUTHOR - Jason Stajich
Email jason@bioperl.org
Describe contact details here
CONTRIBUTORS
Additional contributors names and emails here
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
add_Descendent
Title : add_Descendent
Usage : $node->add_Descendant($node);
Function: Adds a descendent to a node
Returns : number of current descendents for this node
Args : Bio::Node::NodeI
each_Descendent
Title : each_Descendent
Usage : my @nodes = $node->each_Descendent;
Function: all the descendents for this Node (but not their descendents
i.e. not a recursive fetchall)
Returns : Array of Bio::Tree::NodeI objects
Args : none
Decorated Interface methods
get_Descendents
Title : get_Descendents
Usage : my @nodes = $node->get_Descendents;
Function: Recursively fetch all the nodes and their descendents
*NOTE* This is different from each_Descendent
Returns : Array or Bio::Tree::NodeI objects
Args : none
is_Leaf
Title : is_Leaf
Usage : if( $node->is_Leaf )
Function: Get Leaf status
Returns : boolean
Args : none
descendent_count
Title : descendent_count
Usage : my $count = $node->descendent_count;
Function: Counts the number of descendents a node has
(and all of their subnodes)
Returns : integer
Args : none
to_string
Title : to_string
Usage : my $str = $node->to_string()
Function: For debugging, provide a node as a string
Returns : string
Args : none
height
Title : height
Usage : my $len = $node->height
Function: Returns the height of the tree starting at this
node. Height is the maximum branchlength.
Returns : The longest length (weighting branches with branch_length) to a leaf
Args : none
Get/Set methods
branch_length
Title : branch_length
Usage : $obj->branch_length()
Function:
Example :
Returns : value of branch_length
Args : newvalue (optional)
id
Title : id
Usage : $obj->id($newval)
Function:
Example :
Returns : value of id
Args : newvalue (optional)
description
Title : description
Usage : $obj->description($newval)
Function:
Example :
Returns : value of description
Args : newvalue (optional)
bootstrap
Title : bootstrap
Usage : $obj->bootstrap($newval)
Function:
Example :
Returns : value of bootstrap
Args : newvalue (optional)
ancestor
Title : ancestor
Usage : my $node = $node->ancestor;
Function: Get/Set a Node's ancestor node
Returns : Null if this is top level node
Args : none
invalidate_height
Title : invalidate_height
Usage : private helper method
Function: Invalidate our cached value of the node'e height in the tree
Returns : nothing
Args : none