The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::PhyloTastic - Perl clients for PhyloTastic

DESCRIPTION

PhyloTastic (http://phylotastic.org) is community effort to develop interoperable tools for pruning and annotating phylogenetic megatrees. This package contributes to that effort by providing simple client access to web services that perform steps in the pipeline. The functionality of these clients readily available using the phylotastic command line utility that comes with this distribution.

The basic usage is:

 $ phylotastic ModuleName <args>

Where ModuleName is the last part of the package name of one of the client classes (e.g. BabelPhysh). The command line arguments of these classes are somewhat variable, though they typically take one or more --infile=filename arguments and an --outfile=filename argument. For the other arguments you can consult the usage message for each module as follows:

 $ phylotastic ModuleName --help

The full documentation for each module (such as it is), can be viewed like this:

 $ phylotastic ModuleName --man

For more verbose output during the execution of a module, provide the --verbose flag with a numerical argument (0 = only fatal message, 1 = error, 2 = warn, 3 = info, 4 = debug).

 $ phylotastic ModuleName --verbose=4 <args>

SEE ALSO

The following client classes are currently available.

Bio::PhyloTastic::BabelPhysh

File translation.

Bio::PhyloTastic::DateLife

Divergence date estimation.

Bio::PhyloTastic::PhyleMerge

File merging.

Bio::PhyloTastic::PruneOMatic

Tree pruning.

Bio::PhyloTastic::TaxTractor

Extracts taxon labels from files.

Bio::PhyloTastic::TNRS

Taxonomic name resolution service.

Bio::Phylo::IO

Reading and writing of all data is done using Bio::Phylo::IO, which uses the deserializers in the Bio::Phylo::Parsers namespace and the serializers in the Bio::Phylo::Unparsers namespace. Consequently, the input formats that are available are the ones that Bio::Phylo supports.

In addition, work is under way to develop Galaxy config files that wrap these classes so they are available from within Galaxy (http://usegalaxy.org). These config files can be found here: https://github.com/phylotastic/arch-galaxy/tree/master/galaxy

METHODS

This distribution can actually also be used within scripts or modules. The basic idea is to invoke run on a service package name, with named arguments (i.e. key value pairs) that match those as required on the command line. The following example of this behaviour writes the input NeXML file $infile as NEXUS to $outfile:

 Bio::PhyloTastic::BabelPhysh->run(
        '-infile'       => $infile,
        '-deserializer' => 'nexml',
        '-outfile'      => $outfile,
        '-serializer'   => 'nexus',
 );
run

The run method is a static method, i.e. called on the package, like so:

 Bio::PhyloTastic::ModuleName->run(%args);

The implementation in this superclass does argument checking and input file parsing before it dispatches the parsed data to an implementing method in the child class called _run. That implementing method returns a Bio::Phylo::Project object that is subsequently serialized here.