Bio::Phylo::Forest::Node(3)

NAME
Bio::Phylo::Forest::Node - Node in a phylogenetic tree

SYNOPSIS
 # 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);
       }
    }
 }

DESCRIPTION
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.

METHODS

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

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::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>.

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>