Bio::Phylo::Forest::Node - Node in a phylogenetic tree
# some way to get nodes:
use Bio::Phylo::IO;
my $string = '((A,B),C);';
my $forest = Bio::Phylo::IO->parse(
-format => 'newick',
-string => $string
);
# prints 'Bio::Phylo::Forest'
print ref $forest;
foreach my $tree ( @{ $forest->get_entities } ) {
# prints 'Bio::Phylo::Forest::Tree'
print ref $tree;
foreach my $node ( @{ $tree->get_entities } ) {
# prints 'Bio::Phylo::Forest::Node'
print ref $node;
# node has a parent, i.e. is not root
if ( $node->get_parent ) {
$node->set_branch_length(1);
}
# node is root
else {
$node->set_branch_length(0);
}
}
}
This module has the getters and setters that alter the state of a node object.
Useful behaviours (which are also available) are defined in the
Bio::Phylo::Forest::NodeRole package.
- set_parent()
- Sets argument as invocant's parent.
Type : Mutator
Title : set_parent
Usage : $node->set_parent($parent);
Function: Assigns a node's parent.
Returns : Modified object.
Args : If no argument is given, the current
parent is set to undefined. A valid
argument is Bio::Phylo::Forest::Node
object.
- set_raw_parent()
- Sets argument as invocant's parent. This method does NO sanity checks on
the rest of the topology. Use with caution.
Type : Mutator
Title : set_raw_parent
Usage : $node->set_raw_parent($parent);
Function: Assigns a node's parent.
Returns : Modified object.
Args : If no argument is given, the current
parent is set to undefined. A valid
argument is Bio::Phylo::Forest::Node
object.
- set_child()
- Sets argument as invocant's child.
Type : Mutator
Title : set_child
Usage : $node->set_child($child);
Function: Assigns a new child to $node
Returns : Modified object.
Args : A valid argument consists of a
Bio::Phylo::Forest::Node object.
- set_raw_child()
- Sets argument as invocant's child. This method does NO sanity checks on
the rest of the topology. Use with caution.
Type : Mutator
Title : set_raw_child
Usage : $node->set_raw_child($child);
Function: Assigns a new child to $node
Returns : Modified object.
Args : A valid argument consists of a
Bio::Phylo::Forest::Node object.
- set_branch_length()
- Sets argument as invocant's branch length.
Type : Mutator
Title : set_branch_length
Usage : $node->set_branch_length(0.423e+2);
Function: Assigns a node's branch length.
Returns : Modified object.
Args : If no argument is given, the
current branch length is set
to undefined. A valid argument
is a number in any of Perl's formats.
- set_tree()
- Sets what tree invocant belongs to
Type : Mutator
Title : set_tree
Usage : $node->set_tree($tree);
Function: Sets what tree invocant belongs to
Returns : Invocant
Args : Bio::Phylo::Forest::Tree
Comments: This method is called automatically
when inserting or deleting nodes in
trees.
- set_rank()
- Sets the taxonomic rank of the node
Type : Mutator
Title : set_rank
Usage : $node->set_rank('genus');
Function: Sets the taxonomic rank of the node
Returns : Invocant
Args : String
Comments: Free-form, but highly recommended to use same rank names as in Bio::Taxon
- get_parent()
- Gets invocant's parent.
Type : Accessor
Title : get_parent
Usage : my $parent = $node->get_parent;
Function: Retrieves a node's parent.
Returns : Bio::Phylo::Forest::Node
Args : NONE
- get_branch_length()
- Gets invocant's branch length.
Type : Accessor
Title : get_branch_length
Usage : my $branch_length = $node->get_branch_length;
Function: Retrieves a node's branch length.
Returns : FLOAT
Args : NONE
Comments: Test for "defined($node->get_branch_length)"
for zero-length (but defined) branches. Testing
"if ( $node->get_branch_length ) { ... }"
yields false for zero-but-defined branches!
- get_children()
- Gets invocant's immediate children.
Type : Query
Title : get_children
Usage : my @children = @{ $node->get_children };
Function: Returns an array reference of immediate
descendants, ordered from left to right.
Returns : Array reference of
Bio::Phylo::Forest::Node objects.
Args : NONE
- get_tree()
- Returns the tree invocant belongs to
Type : Query
Title : get_tree
Usage : my $tree = $node->get_tree;
Function: Returns the tree $node belongs to
Returns : Bio::Phylo::Forest::Tree
Args : NONE
- get_rank()
- Gets the taxonomic rank of the node
Type : Mutator
Title : get_rank
Usage : my $rank = $node->get_rank;
Function: Gets the taxonomic rank of the node
Returns : String
Args : NONE
Comments:
# podinherit_insert_token
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::NodeRole
- This object inherits from Bio::Phylo::Forest::NodeRole, so methods defined
there are also applicable here.
- Bio::Phylo::Manual
- Also see the manual: Bio::Phylo::Manual and
<http://rutgervos.blogspot.com>.
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>