NAME
Bio::NEXUS::TreesBlock - parses and reads in the trees block of a NEXUS file
SYNOPSIS
if ( $type =~ /trees/i ) {
$block_object = new Bio::NEXUS::TreesBlock( $block_type, $block, $verbose );
}
DESCRIPTION
If a NEXUS block is a Trees Block, this module parses the block and stores the tree data.
FEEDBACK
All feedback (bugs, feature enhancements, etc.) are all greatly appreciated.
AUTHORS
Chengzhi Liang (liangc@umbi.umd.edu)
Eugene Melamud (melamud@carb.nist.gov)
Weigang Qiu (weigang@genectr.hunter.cuny.edu)
Peter Yang (pyang@rice.edu)
Thomas Hladish (tjhladish at yahoo)
VERSION
$Revision: 1.53 $
METHODS
new
Title : new
Usage : block_object = new Bio::NEXUS::TreesBlock($block_type, $commands, $verbose );
Function: Creates a new Bio::NEXUS::TreesBlock object and automatically reads the file
Returns : Bio::NEXUS::TreesBlock object
Args : type (string), the commands/comments to parse (array ref), and a verbose flag (0 or 1; optional)
clone
Title : clone
Usage : my $newblock = $block->clone();
Function: clone a block object (shallow)
Returns : Block object
Args : none
set_trees
Title : set_trees
Usage : $block->set_trees($trees);
Function: Sets the list of trees (Bio::NEXUS::Tree objects)
Returns : none
Args : ref to array of Bio::NEXUS::Tree objects
add_tree
Title : add_tree
Usage : $block->add_tree($tree);
Function: Add trees (Bio::NEXUS::Tree object)
Returns : none
Args : a Bio::NEXUS::Tree object
add_tree_from_newick
Title : add_tree_from_newick
Usage : $block->add_tree_from_newick($newick_tree, $tree_name);
Function: Add a tree (Bio::NEXUS::Tree object)
Returns : none
Args : a tree string in newick format and a name for the tree (scalars)
get_trees
Title : get_trees
Usage : $block->get_trees();
Function: Gets the list of trees (Bio::NEXUS::Tree objects) and returns it
Returns : ref to array of Bio::NEXUS::Tree objects
Args : none
get_tree
Title : get_tree
Usage : $block->get_tree($treename);
Function: Gets the first tree (Bio::NEXUS::Tree object) that matches the name given or the first tree if $treename is not specified. If no tree matches, returns undef.
Returns : a Bio::NEXUS::Tree object
Args : tree name or none
set_translate
Title : set_translate
Usage : $block->set_translate($translate);
Function: Sets the hash of translates for nodes names
Returns : none
Args : hash of translates
translate
Title : translate
Usage : $self->translate($num);
Function: Translates a number with its associated name.
Returns : integer or string
Args : integer
Method : Returns the name associated with that number's translated name.
If it can't find an association, returns the number.
reroot_tree
Title : reroot_tree
Usage : $block->reroot_tree($outgroup,$root_position, $treename);
Function: Reroot a tree using an OTU as new outgroup.
Returns : none
Args : outgroup name, the distance before the root position and tree name
reroot_all_trees
Title : reroot_all_trees
Usage : $block->reroot_all_trees($outgroup, $root_position);
Function: Reroot all the trees in the treesblock tree. use an OTU as new outgroup
Returns : none
Args : outgroup name and root position
rename_otus
Title : rename_otus
Usage : $block->rename_otus(\%translation);
Function: Renames nodes based on a translation hash
Returns : none
Args : hash containing translation (e.g., { old_name => new_name} )
Comments: nodes not included in translation hash are unaffected
select_otus
Name : select_otus
Usage : $nexus->select_otus(\@otunames);
Function: select a subset of OTUs
Returns : a new nexus object
Args : a ref to array of OTU names
select_tree
Name : select_tree
Usage : $nexus->select_tree($treename);
Function: select a tree
Returns : a new nexus object
Args : a tree name
select_subtree
Name : select_subtree
Usage : $nexus->select_subtree($inodename);
Function: select a subtree
Returns : a new nexus object
Args : an internal node name for subtree to be selected
exclude_subtree
Name : exclude_subtree
Usage : $nexus->exclude_subtree($inodename);
Function: remove a subtree
Returns : a new nexus object
Args : an internal node for subtree to be removed
equals
Name : equals
Usage : $nexus->equals($another);
Function: compare if two NEXUS objects are equal
Returns : boolean
Args : a NEXUS object