Bio::Tree
TreeI
Summary
Bio::Tree::TreeI - A Tree object suitable for lots of things, designed
originally for Phylogenetic Trees.
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
# get a Bio::Tree::TreeI somehow
# 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 @leaves = $tree->get_leaf_nodes;
my $root = $tree->get_root_node;
Description
This object holds a pointer to the Root of a Tree which is a
Bio::Tree::NodeI.
Methods
Methods description
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: Returns the number of nodes
Example :
Returns :
Args : |
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 code
sub get_nodes
{ my ($self) = @_;
$self->throw_not_implemented(); } |
sub get_root_node
{ my ($self) = @_;
$self->throw_not_implemented(); } |
sub number_nodes
{ my ($self) = @_;
my $root = $self->get_root_node;
if( defined $root && $root->isa('Bio::Tree::NodeI')) {
return $root->descendent_count;
}
return 0;} |
sub total_branch_length
{ my ($self) = @_;
$self->throw_not_implemented(); } |
sub height
{ my ($self) = @_;
my $nodect = $self->number_nodes;
return 0 if( ! $nodect );
return log($nodect) / log(2);
} |
sub id
{ my ($self,@args) = @_;
$self->throw_not_implemented(); } |
sub score
{ my ($self,$value) = @_;
$self->throw_not_implemented(); } |
sub get_leaf_nodes
{ my ($self) = @_;
return grep { $_->is_Leaf() } $self->get_nodes(-sortby => 'creation');} |
General documentation
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
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 Stajich | Top |
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _