NAME
Bio::Tools::Run::Phylo::PAML::Evolver - Wrapper aroud the PAML program evolver
VERSION
version 1.7.3
SYNOPSIS
use Bio::Tools::Run::Phylo::PAML::Evolver;my $evolver = Bio::Tools::Run::Phylo::PAML::Evolver->new();# Get a $tree object somehow$evolver->tree($tree);# FIXME: evolver generates a tree (first run with option 1 or 2)?# One or more alns are createdmy @alns = $evolver->run();##### Or with all the data coming from a previous PAML runmy $parser = Bio::Tools::Phylo::PAML->new(-file => "$inputfile",);my $result = $parser->next_result();my $tree = $result->next_tree;$evolver->tree($tree);my @codon_freqs = $result->get_CodonFreqs();$evolver->set_CodonFreqs(\@codon_freqs);my $val = $evolver->prepare();# FIXME: something similar for nucleotide frequencies:# Option (5) Simulate nucleotide data sets (use MCbase.dat)?# FIXME: something similar for aa parameters:# Option (7) Simulate amino acid data sets (use MCaa.dat)?# FIXME: With an initial RootSeq.txt
DESCRIPTION
This is a wrapper around the evolver program of PAML (Phylogenetic Analysis by Maximum Likelihood) package of Ziheng Yang. See http://abacus.gene.ucl.ac.uk/software/paml.html for more information.
This module is more about generating the properl MCmodel.ctl file and will run the program in a separate temporary directory to avoid creating temp files all over the place.
Default Values
Valid and default values for evolver programs are listed below. The default values are always the first one listed. These descriptions are essentially lifted from the example MCcodon.dat file and pamlDOC documentation provided by the author.
Stub:
option1 specifies something.
option2 specifies something else.
INCOMPLETE DOCUMENTATION OF ALL METHODS
ATTRIBUTES
program_name
Title : program_nameUsage : $factory->program_name()Function: holds the program nameReturns: stringArgs : None
program_dir
Title : program_dirUsage : ->program_dir()Function: returns the program directory, obtained from ENV variable.Returns: stringArgs :
error_string
Title : error_stringUsage : $obj->error_string($newval)Function: Where the output from the last analysis run is stored.Returns : value of error_stringArgs : newvalue (optional)
alignment
Title : alignmentUsage : $evolver->align($aln);Function: Get/Set the L<Bio::Align::AlignI> objectReturns : L<Bio::Align::AlignI> objectArgs : [optional] L<Bio::Align::AlignI>Comment : We could potentially add support for running directly on a filebut we shall keep it simpleSee also: L<Bio::SimpleAlign>
tree
Title : treeUsage : $evolver->tree($tree, %params);Function: Get/Set the L<Bio::Tree::TreeI> objectReturns : L<Bio::Tree::TreeI>Args : [optional] $tree => L<Bio::Tree::TreeI>,[optional] %parameters => hash of tree-specific parameters:branchLengths: 0, 1 or 2outComment : We could potentially add support for running directly on a filebut we shall keep it simpleSee also: L<Bio::Tree::Tree>
no_param_checks
Title : no_param_checksUsage : $obj->no_param_checks($newval)Function: Boolean flag as to whether or not we shouldtrust the sanity checks for parameter valuesReturns : value of no_param_checksArgs : newvalue (optional)
save_tempfiles
Title : save_tempfilesUsage : $obj->save_tempfiles($newval)Function:Returns : value of save_tempfilesArgs : newvalue (optional)
outfile_name
Title : outfile_nameUsage : my $outfile = $evolver->outfile_name();Function: Get/Set the name of the output file for this run(if you wanted to do something special)Returns : stringArgs : [optional] string to set value to
tempdir
Title : tempdirUsage : my $tmpdir = $self->tempdir();Function: Retrieve a temporary directory name (which is created)Returns : string which is the name of the temporary directoryArgs : none
indel
Title : indelUsage : $obj->indel($newval)Function: this is only useful if using evolver_indel instead of mainevolver package:Exploring the Relationship between Sequence Similarity andAccurate Phylogenetic Trees Brandi L. Cantarel, HilaryG. Morrison and William PearsonExample :Returns : value of indel (a scalar)Args : on set, new value (a scalar or undef, optional)
METHODS
new
Title : newUsage : my $obj = Bio::Tools::Run::Phylo::PAML::Evolver->new();Function: Builds a new Bio::Tools::Run::Phylo::PAML::Evolver objectReturns : Bio::Tools::Run::Phylo::PAML::Evolver-save_tempfiles => boolean to save the generated tempfiles andNOT cleanup after onesself (default FALSE)-tree => the Bio::Tree::TreeI object (FIXME: optional if this is done in a first run)-params => a hashref of PAML parameters (all passed to set_parameter)-executable => where the evolver executable resides
See also: Bio::Tree::TreeI
prepare
Title : prepareUsage : my $rundir = $evolver->prepare($aln);Function: prepare the evolver analysis using the default or updated parametersthe alignment parameter must have been setReturns : value of rundirArgs : L<Bio::Align::AlignI> object,L<Bio::Tree::TreeI> object [optional]
run
Title : runUsage : my ($rc,$parser) = $evolver->run();Function: run the evolver analysis using the default or updated parametersthe alignment parameter must have been setReturns : Return code, L<Bio::Tools::Phylo::PAML>Args : L<Bio::Align::AlignI> object,L<Bio::Tree::TreeI> object [optional]
get_parameters
Title : get_parametersUsage : my %params = $self->get_parameters();Function: returns the list of parameters as a hashReturns : associative array keyed on parameter namesArgs : none
set_parameter
Title : set_parameterUsage : $evolver->set_parameter($param,$val);Function: Sets a evolver parameter, will be validated againstthe valid values as set in the %VALIDVALUES class variable.The checks can be ignored if one turns off param checks like this:$evolver->no_param_checks(1)Returns : boolean if set was success, if verbose is set to -1then no warning will be reportedArgs : $param => name of the parameter$value => value to set the parameter toSee also: L<no_param_checks()>
set_default_parameters
Title : set_default_parametersUsage : $evolver->set_default_parameters(0);Function: (Re)set the default parameters from the defaults(the first value in each array in the%VALIDVALUES class variable)Returns : noneArgs : boolean: keep existing parameter values
set_CodonFreqs
Title : set_CodonFreqsUsage : $obj->set_CodonFreqs($newval)Function: Get/Set the Codon Frequence tableReturns : value of set_CodonFreqs (a scalar)Args : on set, new value (a scalar or undef, optional)
get_CodonFreqs
Title : get_CodonFreqsUsage : my @codon_freqs = $evolver->get_CodonFreqs()Function: Get the Codon freqsReturns : ArrayArgs : none
cleanup
Title : cleanupUsage : $evolver->cleanup();Function: Will cleanup the tempdir directory after a PAML runReturns : noneArgs : none
io
Title : ioUsage : $obj->io($newval)Function: Gets a L<Bio::Root::IO> objectReturns : L<Bio::Root::IO>Args : none
Bio::Tools::Run::WrapperBase methods
FEEDBACK
Mailing lists
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.
[email protected] - General discussionhttp://bioperl.org/Support.html - About the mailing lists
Support
Please direct usage questions or support issues to the mailing list: [email protected]
rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
Reporting bugs
Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:
https://github.com/bioperl/bio-tools-phylo-paml/issues
AUTHOR
Albert Vilella <[email protected]>
COPYRIGHT
This software is copyright (c) by Albert Vilella <[email protected]>.
This software is available under the same terms as the perl 5 programming language system itself.