From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Bio::Phylo::Forest::Tree - Phylogenetic tree

SYNOPSIS

# some way to get a tree
my $string = '((A,B),C);';
my $forest = Bio::Phylo::IO->parse(
-format => 'newick',
-string => $string
);
my $tree = $forest->first;
# do something:
print $tree->calc_imbalance;
# prints "1"

DESCRIPTION

The package has the getters and setters that alter the internal state of a tree object. Additional tree-related behaviours (which are available also) are defined in the package Bio::Phylo::Forest::TreeRole.

METHODS

MUTATORS

set_as_unrooted()

Sets tree to be interpreted as unrooted.

Type : Mutator
Title : set_as_unrooted
Usage : $tree->set_as_unrooted;
Function: Sets tree to be interpreted as unrooted.
Returns : $tree
Args : NONE
Comments: This is a flag to indicate that the invocant
is interpreted to be unrooted (regardless of
topology). The object is otherwise unaltered,
this method is only here to capture things such
as the [&U] token in nexus files.
set_as_default()

Sets tree to be the default tree in a forest

Type : Mutator
Title : set_as_default
Usage : $tree->set_as_default;
Function: Sets tree to be default tree in forest
Returns : $tree
Args : NONE
Comments: This is a flag to indicate that the invocant
is the default tree in a forest, i.e. to
capture the '*' token in nexus files.
set_not_default()

Sets tree to NOT be the default tree in a forest

Type : Mutator
Title : set_not_default
Usage : $tree->set_not_default;
Function: Sets tree to not be default tree in forest
Returns : $tree
Args : NONE
Comments: This is a flag to indicate that the invocant
is the default tree in a forest, i.e. to
capture the '*' token in nexus files.

TESTS

is_default()

Test if tree is default tree.

Type : Test
Title : is_default
Usage : if ( $tree->is_default ) {
# do something
}
Function: Tests whether the invocant
object is the default tree in the forest.
Returns : BOOLEAN
Args : NONE
is_rooted()

Test if tree is rooted.

Type : Test
Title : is_rooted
Usage : if ( $tree->is_rooted ) {
# do something
}
Function: Tests whether the invocant
object is rooted.
Returns : BOOLEAN
Args : NONE
Comments: A tree is considered unrooted if:
- set_as_unrooted has been set, or
- the basal split is a polytomy

SEE ALSO

There is a mailing list at https://groups.google.com/forum/#!forum/bio-phylo for any user or developer questions and discussions.

Bio::Phylo::Forest::TreeRole

The Bio::Phylo::Forest::Tree package inherits from the Bio::Phylo::Forest::TreeRole package, so the methods defined therein also apply to trees.

Bio::Phylo::Manual

Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com.

CITATION

If you use Bio::Phylo in published research, please cite it:

Rutger A Vos, Jason Caravas, Klaas Hartmann, Mark A Jensen and Chase Miller, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics 12:63. http://dx.doi.org/10.1186/1471-2105-12-63