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

NAME

       Bio::Tools::Run::RNAMotif - Wrapper for local execution of rnamotif, rm2ct, rmfmt, rmprune

SYNOPSIS

         #run rnamotif|rmfmt|rm2ct

         my @params = (
                     descr => 'pyrR.descr',
                     fmt   => 'gb',
                     setvar => 'ctx_maxlen=20',
                     context => 1,
                     sh    => 1,
                    );

         my $factory = Bio::Tools::Run::RNAMotif->new(-program =>'rnamotif',
                                                      -prune  => 1,
                                                       @params);

         # Pass the factory a Bio::Seq object or a file name
         # Returns a Bio::SearchIO object

         #my $searchio = $factory->run("B_sub.gb");
         my $searchio = $factory->run($seq);
         while (my $result = $searchio->next_result){
          while(my $hit = $result->next_hit){
           while (my $hsp = $hit->next_hsp){
                   print join("\t", ( $r->query_name,
                                      $hit->name,
                                      $hsp->hit->start,
                                      $hsp->hit->end,
                                      $hsp->meta,
                                      $hsp->score,
                                      )), "\n";
           }
          }
         }

         # Pass a finished report through rmfmt (-a format only)
         # Returns Bio::AlignIO object

         my $aio = Bio::AlignIO->new(-file=>"rna.msf",-format=>'msf');
         my $factory =  Bio::Tools::Run::RNAMotif->new('program'=>'rmfmt',
                                                       'a' => 1);
         my $alnin = $factory->run('trna.rnamotif');

         my $aln = $alnin->next_aln;

         $aio->write_aln($aln);

DESCRIPTION

       Wrapper module for Tom Macke and David Cases's RNAMotif suite of programs. This allows
       running of rnamotif, rmprune, rm2ct, and rmfmt. Binaries are available at
       http://www.scripps.edu/mb/case/casegr-sh-3.5.html.

       This wrapper allows for one to save output to an optional named file or tempfile using the
       '-outfile_name' or '-tempfile' parameters; this is primarily for saving output from the
       rm2ct program, which currently does not have a parser available. If both a named output
       file and tempfile flag are set, the output file name is used. The default setting is
       piping output into a filehandle for parsing (or output to STDERR, for rm2ct which requires
       '-verbose' set to 1).

       WARNING: At this time, there is very little checking of parameter settings, so one could
       have an error if setting the worng parameter for a program. Future versions will likely
       add some error checking.

NOTES ON PROGRAM PARAMETERS

       All program parameters are currently supported. Of note, the 'D' parameter, used for
       setting the value of a variable to a value, is changed to 'set_var' to avoid name
       collisions with 'd' (used for dumping internal data structures).

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 - Chris Fields

        Email: cjfields-at-uiuc-dot-edu

CONTRIBUTORS

        cjfields-at-uiuc-dot-edu

APPENDIX

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

   new
        Title   : new
        Usage   : my $wrapper = Bio::Tools::Run::RNAMotif->new(@params)
        Function: creates a new RNAMotif factory
        Returns:  Bio::Tools::Run::RNAMotif
        Args    : list of parameters
                  -tempfile        => set tempfile flag (default 0)
                  -outfile_name    => set file to send output to (default none)
                  -prune           => set rmprune postprocess flag (default 0)

   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    :

   version
        Title   : version
        Usage   : $v = $prog->version();
        Function: Determine the version number of the program
        Example :
        Returns : float or undef
        Args    : none

   run
        Title   :  run
        Usage   :  $obj->run($seqFile)
        Function:  Runs RNAMotif programs, returns Bio::SearchIO/Bio::AlignIO
        Returns :  Depends on program:
                   'rnamotif' - returns Bio::SearchIO
                   'rmfmt -a' - returns Bio::AlignIO
                   all others - sends output to outfile, tempfile, STDERR

                   Use search() (for Bio::SearchIO stream) or get_AlignIO() (for
                   Bio::AlignIO stream) for a uniform Bioperl object interface.

        Args    :  A Bio::PrimarySeqI or file name
        Note    :  This runs any RNAMotif program set via program()

   search
        Title   :  search
        Usage   :  $searchio = $obj->search($seqFile)
        Function:  Runs 'rnamotif' on seqs, returns Bio::SearchIO
        Returns :  A Bio::SearchIO
        Args    :  A Bio::PrimarySeqI or file name
        Note    :  Runs 'rnamotif' only, regardless of program setting; all other
                   parameters loaded

   get_AlignIO
        Title   :  get_AlignIO
        Usage   :  $aln = $obj->get_AlignIO($seqFile)
        Function:  Runs 'rmfmt -a' on file, returns Bio::AlignIO
        Returns :  A Bio::AlignIO
        Args    :  File name
        Note    :  Runs 'rmfmt -a' only, regardless of program setting; only file
                   name and outfile (if any) are set

   tempfile
        Title   : tempfile
        Usage   : $obj->tempfile(1)
        Function: Set tempfile flag.  When set, writes output to a tempfile; this
                  is overridden by outfile_name() if set
        Returns : Boolean setting (or undef if not set)
        Args    : [OPTIONAL] Boolean

   prune
        Title   : prune
        Usage   : $obj->prune(1)
        Function: Set rmprune flag.  When set, follows any searches with a call to
                  rmprune (this deletes some redundant sequence hits)
        Returns : Boolean setting (or undef if not set)
        Args    : [OPTIONAL] Boolean

   _run
        Title   :   _run
        Usage   :   $obj->_run()
        Function:   Internal(not to be used directly)
        Returns :
        Args    :

   _setparams
        Title   :  _setparams
        Usage   :  Internal function, not to be called directly
        Function:  creates a string of params to be used in the command string
        Example :
        Returns :  string of params
        Args    :

   _writeSeqFile
        Title   : _writeSeqFile
        Usage   : obj->_writeSeqFile($seq)
        Function: Internal(not to be used directly)
        Returns : writes passed Seq objects to tempfile, to be used as input
                  for program
        Args    :