Bio::Tree
Tree
Summary
Bio::Tree::Tree - An Implementation of TreeI interface.
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
# 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;
Description
This object holds handles to Nodes which make up a tree.
Methods
Methods description
Title : new
Usage : my $obj = new Bio::Tree::Tree();
Function: Builds a new Bio::Tree::Tree object
Returns : Bio::Tree::Tree
Args : |
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 : set_root_node
Usage : $tree->set_root_node($node)
Function: Set the Root Node for the Tree
Returns : Bio::Tree::NodeI
Args : Bio::Tree::NodeI |
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 |
Methods code
sub new
{ my($class,@args) = @_;
my $self = $class->SUPER::new(@args);
$self->{'_rootnode'} = undef;
$self->{'_maxbranchlen'} = 0;
my ($root)= $self->_rearrange([qw(ROOT)], @args);
if( $root ) { $self->set_root_node($root); }
return $self;} |
sub get_nodes
{ my ($self, @args) = @_;
my ($order) = $self->_rearrange([qw(ORDER)],@args);
my $node = $self->get_root_node;
my @children = ($node,$node->get_Descendents);
return @children; } |
sub get_root_node
{ my ($self) = @_;
return $self->{'_rootnode'};} |
sub set_root_node
{ my ($self,$value) = @_;
if( defined $value ) {
if( ! $value->isa('Bio::Tree::NodeI') ) {
$self->warn("Trying to set the root node to $value which is not a Bio::Tree::NodeI");
return $self->get_root_node;
}
$self->{'_rootnode'} = $value;
}
return $self->get_root_node;} |
sub total_branch_length
{ my ($self) = @_;
my $sum = 0;
map { $sum += $_->branch_length || 0 } $self->get_root_node->get_Descendents();
return $sum;} |
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
email or the web:
bioperl-bugs@bioperl.org
http://bioperl.org/bioperl-bugs/
| AUTHOR - Jason Stajich | Top |
Additional contributors names and emails here
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _
Title : height
Usage : my $height = $tree->height
Function: Gets the height of tree - this LOG_2($number_nodes)
Returns : integer
Args : none
Title : number_nodes
Usage : my $size = $tree->number_nodes
Function: Returns the number of nodes
Example :
Returns :
Args :