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

NAME

       Bio::Tools::Run::Alignment::Muscle - Object for the calculation of an iterative multiple
       sequence alignment from a set of unaligned sequences or alignments using the MUSCLE
       program

SYNOPSIS

         # Build a muscle alignment factory
         $factory = Bio::Tools::Run::Alignment::Muscle->new(@params);

         # Pass the factory a list of sequences to be aligned.
         $inputfilename = 't/cysprot.fa';
         # $aln is a SimpleAlign object.
         $aln = $factory->align($inputfilename);

         # or where @seq_array is an array of Bio::Seq objects
         $seq_array_ref = \@seq_array;
         $aln = $factory->align($seq_array_ref);

         # Or one can pass the factory a pair of (sub)alignments
         #to be aligned against each other, e.g.:

         #There are various additional options and input formats available.
         #See the DESCRIPTION section that follows for additional details.

DESCRIPTION

       Muscle is Robert Edgar's progressive alignment program.  You can get it and see
       information about it at this URL http://www.drive5.com/muscle

       It is recommended you use at least version 3.6. Behaviour with earlier versions is
       questionable.

   Helping the module find your executable
       You will need to enable Muscle to find the muscle program. This can be done in (at least)
       three ways:

         1. Make sure the muscle executable is in your path (i.e.
            'which muscle' returns a valid program
         2. define an environmental variable MUSCLEDIR which points to a
            directory containing the 'muscle' app:
          In bash
           export MUSCLEDIR=/home/progs/muscle   or
          In csh/tcsh
               setenv MUSCLEDIR /home/progs/muscle

         3. include a definition of an environmental variable MUSCLEDIR
             in every script that will
            BEGIN {$ENV{MUSCLEDIR} = '/home/progs/muscle'; }
            use Bio::Tools::Run::Alignment::Muscle;

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 one of the Bioperl mailing lists.  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 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

APPENDIX

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

   new
        Title   : new
        Usage   : my $muscle = Bio::Tools::Run::Alignment::Muscle->new();
        Function: Constructor
        Returns : Bio::Tools::Run::Alignment::Muscle
        Args    : -outfile_name => $outname

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

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

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

   version
        Title   : version
        Usage   : exit if $prog->version() < 1.8
        Function: Determine the version number of the program
        Example :
        Returns : float or undef
        Args    : none

   run
        Title   : run
        Usage   : my $output = $application->run(\@seqs);
        Function: Generic run of an application
        Returns : Bio::SimpleAlign object
        Args    : Arrayref of Bio::PrimarySeqI objects or
                  a filename to run on

   align
        Title   : align
        Usage   : $inputfilename = 't/data/cysprot.fa';
                  $aln = $factory->align($inputfilename);
                    or
                  $seq_array_ref = \@seq_array;
                  $aln = $factory->align($seq_array_ref);
        Function: Perform a multiple sequence alignment
        Returns : Reference to a SimpleAlign object containing the
                  sequence alignment.
        Args    : Name of a file containing a set of unaligned fasta sequences
                  or else an array of references to Bio::Seq objects.

        Throws an exception if argument is not either a string (e.g. a
        filename) or a reference to an array of Bio::Seq objects.  If
        argument is string, throws exception if file corresponding to string
        name can not be found. If argument is Bio::Seq array, throws
        exception if less than two sequence objects are in array.

   profile
        Title   : profile
        Usage   : $alnfilename = /t/data/cysprot.msa';
                  $seqsfilename = 't/data/cysprot.fa';
                  $aln = $factory->profile($alnfilename,$seqsfilename);

        Function: Perform a profile alignment on a MSA to include more seqs
        Returns : Reference to a SimpleAlign object containing the
                  sequence alignment.
        Args    : Name of a file containing the fasta MSA and name of a file
                  containing a set of unaligned fasta sequences
        Comments: This only works for muscle version 3.52.
                  Some early versions of the 3.6 sources had a bug that
                  caused a segfault with -profile. The attached should fix
                  it, if not let Bob Edgar know.

   aformat
        Title   : aformat
        Usage   : my $alignmentformat = $self->aformat();
        Function: Get/Set alignment format
        Returns : string
        Args    : string

   _run
        Title   :  _run
        Usage   :  Internal function, not to be called directly
        Function:  makes actual system call to muscle program
        Example :
        Returns : nothing; muscle output is written to a
                  temporary file OR specified output file
        Args    : Name of a file containing a set of unaligned fasta sequences
                  and hash of parameters to be passed to muscle

   _setinput
        Title   :  _setinput
        Usage   :  Internal function, not to be called directly
        Function:  Create input file for muscle program
        Example :
        Returns : name of file containing muscle data input AND
        Args    : Arrayref of Seqs or input file name

   _setparams
        Title   :  _setparams
        Usage   :  Internal function, not to be called directly
        Function:  Create parameter inputs for muscle program
        Example :
        Returns : parameter string to be passed to muscle
                  during align or profile_align
        Args    : name of calling object

Bio::Tools::Run::BaseWrapper 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 = $muscle->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   : $muscle->cleanup();
        Function: Will cleanup the tempdir directory
        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