Provided by: libbio-perl-run-perl_1.7.1-3_all bug

NAME

       Bio::Tools::Run::Phylo::PAML::Evolver - Wrapper aroud the PAML program evolver

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 created
         my @alns = $evolver->run();

         ####

         # Or with all the data coming from a previous PAML run
         my $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.

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.

         bioperl-l@bioperl.org              - General discussion
         http://bioperl.org/MailList.shtml  - About the mailing lists

   Support
       Please direct usage questions or support issues to the mailing list:

       bioperl-l@bioperl.org

       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:

         http://bioperl.org/bioperl-bugs/

AUTHOR - Albert Vilella

       Email avilella-AT-gmail-DOT-com

CONTRIBUTORS

       Additional contributors names and emails here

APPENDIX

       The rest of the documentation details each of the object methods.  Internal methods are
       usually preceded with a _

   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

   program_name
        Title   : program_name
        Usage   : $factory->program_name()
        Function: holds the program name
        Returns:  string
        Args    : None

   program_dir
        Title   : program_dir
        Usage   : ->program_dir()
        Function: returns the program directory, obtained from ENV variable.
        Returns:  string
        Args    :

   new
        Title   : new
        Usage   : my $obj = Bio::Tools::Run::Phylo::PAML::Evolver->new();
        Function: Builds a new Bio::Tools::Run::Phylo::PAML::Evolver object
        Returns : Bio::Tools::Run::Phylo::PAML::Evolver
                  -save_tempfiles => boolean to save the generated tempfiles and
                                     NOT 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   : prepare
        Usage   : my $rundir = $evolver->prepare($aln);
        Function: prepare the evolver analysis using the default or updated parameters
                  the alignment parameter must have been set
        Returns : value of rundir
        Args    : L<Bio::Align::AlignI> object,
                  L<Bio::Tree::TreeI> object [optional]

   run
        Title   : run
        Usage   : my ($rc,$parser) = $evolver->run();
        Function: run the evolver analysis using the default or updated parameters
                  the alignment parameter must have been set
        Returns : Return code, L<Bio::Tools::Phylo::PAML>
        Args    : L<Bio::Align::AlignI> object,
                  L<Bio::Tree::TreeI> object [optional]

   error_string
        Title   : error_string
        Usage   : $obj->error_string($newval)
        Function: Where the output from the last analysis run is stored.
        Returns : value of error_string
        Args    : newvalue (optional)

   alignment
        Title   : alignment
        Usage   : $evolver->align($aln);
        Function: Get/Set the L<Bio::Align::AlignI> object
        Returns : L<Bio::Align::AlignI> object
        Args    : [optional] L<Bio::Align::AlignI>
        Comment : We could potentially add support for running directly on a file
                  but we shall keep it simple
        See also: L<Bio::SimpleAlign>

   tree
        Title   : tree
        Usage   : $evolver->tree($tree, %params);
        Function: Get/Set the L<Bio::Tree::TreeI> object
        Returns : L<Bio::Tree::TreeI>
        Args    : [optional] $tree => L<Bio::Tree::TreeI>,
                  [optional] %parameters => hash of tree-specific parameters:
                         branchLengths: 0, 1 or 2
                         out

        Comment : We could potentially add support for running directly on a file
                  but we shall keep it simple
        See also: L<Bio::Tree::Tree>

   get_parameters
        Title   : get_parameters
        Usage   : my %params = $self->get_parameters();
        Function: returns the list of parameters as a hash
        Returns : associative array keyed on parameter names
        Args    : none

   set_parameter
        Title   : set_parameter
        Usage   : $evolver->set_parameter($param,$val);
        Function: Sets a evolver parameter, will be validated against
                  the 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 -1
                  then no warning will be reported
        Args    : $param => name of the parameter
                  $value => value to set the parameter to
        See also: L<no_param_checks()>

   set_default_parameters
        Title   : set_default_parameters
        Usage   : $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 : none
        Args    : boolean: keep existing parameter values

Bio::Tools::Run::WrapperBase methods

   no_param_checks
        Title   : no_param_checks
        Usage   : $obj->no_param_checks($newval)
        Function: Boolean flag as to whether or not we should
                  trust the sanity checks for parameter values
        Returns : value of no_param_checks
        Args    : newvalue (optional)

   set_CodonFreqs
        Title   : set_CodonFreqs
        Usage   : $obj->set_CodonFreqs($newval)
        Function: Get/Set the Codon Frequence table
        Returns : value of set_CodonFreqs (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   get_CodonFreqs
        Title   : get_CodonFreqs
        Usage   : my @codon_freqs = $evolver->get_CodonFreqs()
        Function: Get the Codon freqs
        Returns : Array
        Args    : none

   save_tempfiles
        Title   : save_tempfiles
        Usage   : $obj->save_tempfiles($newval)
        Function:
        Returns : value of save_tempfiles
        Args    : newvalue (optional)

   outfile_name
        Title   : outfile_name
        Usage   : 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 : string
        Args    : [optional] string to set value to

   tempdir
        Title   : tempdir
        Usage   : my $tmpdir = $self->tempdir();
        Function: Retrieve a temporary directory name (which is created)
        Returns : string which is the name of the temporary directory
        Args    : none

   cleanup
        Title   : cleanup
        Usage   : $evolver->cleanup();
        Function: Will cleanup the tempdir directory after a PAML run
        Returns : none
        Args    : none

   io
        Title   : io
        Usage   : $obj->io($newval)
        Function:  Gets a L<Bio::Root::IO> object
        Returns : L<Bio::Root::IO>
        Args    : none

   indel
        Title   : indel
        Usage   : $obj->indel($newval)
        Function: this is only useful if using evolver_indel instead of main
                  evolver package:
                  Exploring the Relationship between Sequence Similarity and
                  Accurate Phylogenetic Trees Brandi L. Cantarel, Hilary
                  G. Morrison and William Pearson
        Example :
        Returns : value of indel (a scalar)
        Args    : on set, new value (a scalar or undef, optional)