Provided by: libbio-perl-run-perl_1.7.3-9_all bug

NAME

       Bio::Tools::Run::Phylo::Molphy::ProtML - A wrapper for the Molphy pkg app ProtML

SYNOPSIS

         use Bio::AlignIO;
         use Bio::TreeIO;
         use Bio::Tools::Run::Phylo::Molphy::ProtML;

         my %args = ( 'models' => 'jtt',
                      'search' => 'quick',
                      'other'  => [ '-information', '-w'] );
         my $verbose = 0; # change to 1 if you want some debugging output
         my $protml = Bio::Tools::Run::Phylo::Molphy::ProtML->new(-verbose => $verbose,
                                                                 -flags   => \%args);

         die("cannot find the protml executable") unless $protml->executable;

         # read in a previously built protein alignment
         my $in = Bio::AlignIO->new(-format => 'clustalw',
                                   -file   => 't/data/cel-cbr-fam.aln');
         my $aln = $in->next_aln;
         $protml->alignment($aln);

         my ($rc,$results) = $protml->run();

         # This may be a bit of overkill, but it is possible we could
         # have a bunch of results and $results is a
         # Bio::Tools::Phylo::Molphy object

         my $r = $results->next_result;
         # $r is a Bio::Tools::Phylo::Molphy::Result object

         my @trees;
         while( my $t = $r->next_tree ) {
             push @trees, $t;
         }

         print "search space is ", $r->search_space, "\n";
               "1st tree score is ", $tree[0]->score, "\n";

         my $out = Bio::TreeIO->new(-file => ">saved_MLtrees.tre",
                                   -format => "newick");
         $out->write_tree($tree[0]);
         $out = undef;

DESCRIPTION

       This is a wrapper for the exe from the Molphy (MOLecular PHYlogenetics) package by Jun
       Adachi & Masami Hasegawa.  The software can be downloaded from
       <http://www.ism.ac.jp/ismlib/softother.e.html>.  Note that PHYLIP (Joe Felsenstein) also
       provides a version of protml which this module is currently NOT prepared to handle.  Use
       the package available directly from MOLPHY authors if you want to use the module in its
       present implementation (extensions are welcomed!).

       The main components are the protml and nucml executables which are used to build maximum
       likelihood (ML) phylogenetic trees based on either protein or nucleotide sequences.

       Here are the valid input parameters, we have added a longhand version of the parameters to
       help you understand what each one does.  Either the longhand or the original Molphy
       parameter will work.

         Bioperl      Molphy           Description
         Longhand     parameter
         Model (one of these):
         ---------------
         jtt              j            Jones, Taylor & Thornton (1992)
         jtt-f            jf           JTT w/ frequencies
         dayhoff          d            Dahoff et al. (1978)
         dayhoff-f        d            dayhoff w/ frequencies
         mtrev24          m            mtREV24 Adachi & Hasegwa (1995)
         mtrev24-f        mf           mtREV24 w/ frequencies
         poisson          p            Poisson
         proportional     pf           Proportional
         rsr              r            Relative Substitution Rate
         rsr-f            rf           RSR w/ frequencies
         frequencies      f            data frequencies

         Search Strategy (one of these):
         ----------------
         usertrees        u            User trees (must also supply a tree)
         rearrangement    R            Local rearrangement
         lbp              RX           Local boostrap prob
         exhaustive       e            Exhaustive search
         star             s            Star decomposition search (may not be ML)
         quick            q            Quick Add OTU search (may not be ML)
         distance         D            ML Distance matrix --> NJDIST (need to supply
                                                                      NJDIST tree)

         Others (can be some or all of these):
         ---------------
         norell-bp        b            No RELL-BP
         minimumevolution M            Minimum evolution

         sequential       S            Sequence is in Sequential format
                            _OR_
         interleaved      I            Sequence is in Interleaved format

         verbose          v            Verbose messages directed to STDERR
         information      i            Output some information (tree vals)
                          w            More some extra information (transition
                                                                    matricies, etc)

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/wiki/Mailing_lists  - 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://redmine.open-bio.org/projects/bioperl/

AUTHOR - Jason Stajich

       Email jason-AT-bioperl_DOT_org

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 _

   program_name
        Title   : program_name
        Usage   : >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::Molphy::ProtML->new();
        Function: Builds a new Bio::Tools::Run::Phylo::Molphy::ProtML object
        Returns : Bio::Tools::Run::Phylo::Molphy::ProtML
        Args    : -alignment => the Bio::Align::AlignI object
                  -save_tempfiles => boolean to save the generated tempfiles and
                                     NOT cleanup after onesself (default FALSE)
                  -tree => the Bio::Tree::TreeI object
                  -params => a hashref of PAML parameters (all passed to
                                                           set_parameter)
                  -executable => where the protml executable resides

       See also: Bio::Tree::TreeI, Bio::Align::AlignI

   run
        Title   : run
        Usage   : $protml->run();
        Function: run the protml analysis using the default or updated parameters
                  the alignment parameter must have been set
        Returns : Bio::Tools::Phylo::Molphy
        Args    :

   alignment
        Title   : alignment
        Usage   : $protml->align($aln);
        Function: Get/Set the Bio::Align::AlignI object
        Returns : Bio::Align::AlignI object
        Args    : [optional] 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>, L<Bio::Align::AlignI>

   tree
        Title   : tree
        Usage   : $protml->tree($tree, %params);
        Function: Get/Set the Bio::Tree::TreeI object
        Returns : Bio::Tree::TreeI
        Args    : [optional] $tree => Bio::Tree::TreeI,

        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_flags
        Title   : get_flags
        Usage   : my @params = $protml->get_flags();
        Function: returns the list of flags
        Returns : array of flag names coded in the way that
        Args    : none

   set_flag
        Title   : set_flag
        Usage   : $protml->set_parameter($type,$val);
        Function: Sets a protml 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:
                    $protml->no_param_checks(1)
        Returns : boolean if set was success, if verbose is set to -1
                  then no warning will be reported
        Args    : $type => name of the parameter
                  This can be one of 'search', 'model', 'other'
                  $value => flag value
        See also: L<no_param_checks()>

   get_parameters
        Title   : get_parameters
        Usage   : my %params = $protml->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   : $protml->set_parameter($param,$val);
        Function: Sets a protml 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:
                    $protml->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()>

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)

   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 = $protml->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   : $protml->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