Bio::Phylo::Unparsers::Nhx - Serializer used by Bio::Phylo::IO, no serviceable parts inside
This module turns a tree object into a New Hampshire eXtended-formatted (parenthetical) tree description. It is called by the Bio::Phylo::IO facade, don't call it directly. You can pass the following additional arguments to the unparse call:
# by default, names for tips are derived from $node->get_name, if # 'internal' is specified, uses $node->get_internal_name, if 'taxon' # uses $node->get_taxon->get_name, if 'taxon_internal' uses # $node->get_taxon->get_internal_name, if $key, uses $node->get_generic($key) -tipnames => one of (internal|taxon|taxon_internal|$key) # for things like a translate table in nexus, or to specify truncated # 10-character names, you can pass a translate mapping as a hashref. # to generate the translated names, the strings obtained following the # -tipnames rules are used. -translate => { Homo_sapiens => 1, Pan_paniscus => 2 } # if set, appends labels to internal nodes (names obtained from the same # source as specified by '-tipnames') -nodelabels => 1 # specifies a branch length sprintf number formatting template, default is %f -blformat => '%e'
In addition, you can influence what key/value pairs are inserted into the NHX "hot comments" in two ways. The first way (and the way that is least likely to cause unintentional mishaps) is by attaching a Meta annotation to a node. This annotation has to be associated with the NHX namespace. Here is an example:
use Bio::Phylo::Util::CONSTANT ':classnames'; # ...other things happening... $node->set_namespaces( 'nhx' => _NS_NHX_ ); $node->set_meta_object( 'nhx:foo' => 'bar' ); # which results in: [&&NHX:foo=bar]
The other way is by using the set/get generic methods, e.g.:
$node->set_generic( 'foo' => 'bar');
However, this is riskier because everything you attach to an object using these methods will be inserted into the NHX, including references (which won't serialize well).
There is a mailing list at https://groups.google.com/forum/#!forum/bio-phylo for any user or developer questions and discussions.
The NHX unparser is called by the Bio::Phylo::IO object. Look there to learn how to unparse newick strings.
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
To install Bio::Phylo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::Phylo
CPAN shell
perl -MCPAN -e shell install Bio::Phylo
For more information on module installation, please visit the detailed CPAN module installation guide.