The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::Phylo::Unparsers::Pagel - Serializer used by Bio::Phylo::IO, no serviceable parts inside

DESCRIPTION

This module unparses a Bio::Phylo data structure into an input file for Discrete/Continuous/Multistate. The pagel file format (as it is interpreted here) consists of:

first line

the number of tips, the number of characters

subsequent lines

offspring name, parent name, branch length, character state(s).

Here is an example of what the output might look like:

 4 2
 A,n1,0.000000,1,2
 B,n1,0.000000,1,2
 n1,n2,0.000000
 C,n2,0.000000,2,2
 n2,n3,0.000000
 D,n3,0.000000,2,1

To the unparse() function pass a tree object as value of the '-phylo' argument. The tips in this tree must be linked to taxon objects, and the taxon objects must be linked to datum objects whose character state sequences are to be serialized.

During unparsing, the tree is randomly resolved, and branch lengths are formatted to %f floats (i.e. integers, decimal point, integers).

The pagel module is called by the Bio::Phylo::IO object, so look there to learn about parsing and serializing in general.

INHERITED METHODS

Bio::Phylo::Unparsers::Pagel inherits from one or more superclasses. This means that objects of class Bio::Phylo::Unparsers::Pagel also "do" the methods from the superclasses in addition to the ones implemented in this class. Below is the documentation for those additional methods, organized by superclass.

SUPERCLASS Bio::Phylo::IO

Bio::Phylo::Unparsers::Pagel inherits from superclass Bio::Phylo::IO. Below are the public methods (if any) from this superclass.

parse()

Parses a file or string.

 Type    : Class method
 Title   : parse
 Usage   : my $obj = Bio::Phylo::IO->parse(%options);
 Function: Creates (file) handle, 
           instantiates appropriate parser.
 Returns : A Bio::Phylo::* object
 Args    : -file    => (path),
            or
           -string  => (scalar),
           -format  => (description format),
           -(other) => (parser specific options)
 Comments: The parse method makes assumptions about 
           the capabilities of Bio::Phylo::Parsers::* 
           modules: i) their names match those of the
           -format => (blah) arguments, insofar that 
           ucfirst(blah) . '.pm' is an existing module; 
           ii) the modules implement a _from_handle, 
           or a _from_string method. Exceptions are 
           thrown if either assumption is violated. 
           
           If @ARGV contains even key/value pairs such
           as "format newick file <filename>" (note: no
           dashes) these will be prepended to @_, for
           one-liners.          
unparse()

Unparses object(s) to a string.

 Type    : Class method
 Title   : unparse
 Usage   : my $string = Bio::Phylo::IO->unparse(
               %options
           );
 Function: Turns Bio::Phylo object into a 
           string according to specified format.
 Returns : SCALAR
 Args    : -phylo   => (Bio::Phylo object),
           -format  => (description format),
           -(other) => (parser specific options)

SEE ALSO

Bio::Phylo::IO

The pagel unparser is called by the Bio::Phylo::IO object. Look there to learn how to create pagel formatted files.

Bio::Phylo::Manual

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

REVISION

 $Id: Pagel.pm 843 2009-03-04 23:50:27Z rvos $