Provided by: libbio-perl-perl_1.6.924-3_all bug

NAME

       Bio::Tools::Infernal - A parser for Infernal output

SYNOPSIS

         use Bio::Tools::Infernal;
         my $parser = Bio::Tools::Infernal->new(-file => $rna_output,
                                               -motiftag => 'misc_binding'
                                               -desctag => 'Lysine riboswitch',
                                               -cm    => 'RF00168',
                                               -rfam  =>  'RF00168',
                                               -minscore => 20);
         #parse the results, get a Bio::SeqFeature::FeaturePair
         while( my $motif = $parser->next_prediction) {
           # do something here
         }

DESCRIPTION

       This is a highly experimental parser for Infernal output from the cmsearch program.  At
       some point it is anticipated that this will morph into a proper SearchIO parser, along
       with the related RNAMotif and ERPIN tools.

       The Infernal suite of programs are used for generating RNA CM (covariance models) and
       searching sequences using CMs to locate potentially similar structures.  The program is
       under active development; it is anticiapted that this will support the latest version
       available.

       This parser has been tested and is capable of parsing Infernal 0.7 and 0.71 output.
       However, future Infernal versions may break parsing as the output is constantly evolving,
       so keep an eye on this space for additional notes.

       Currently data is parsed into a Bio::SeqFeature::FeaturePair object, consisting of a query
       (the covariance model) and the hit (sequence searched).

       Model data is accessible via the following:

         Data            SeqFeature::FeaturePair         Note
         --------------------------------------------------------------------------
         primary tag     $sf->primary_tag                Rfam ID (if passed to new())
         start           $sf->start                      Based on CM length
         end             $sf->end                        Based on CM length
         score           $sf->score                      Bit score
         strand          $sf->strand                     0 (CM does not have a strand)
         seqid           $sf->seq_id                     Rfam ID (if passed to new())
         display name    $sf->feature1->display_name     CM name (if passed to new())
         source          $sf->feature1->source tag      'Infernal' followed by version

       Hit data is accessible via the following:

         Data            SeqFeature::FeaturePair         Note
         ------------------------------------------------------------------
         start           $sf->hstart
         end             $sf->hend
         score(bits)     $sf->hscore
         strand          $sf->hstrand
         seqid           $sf->hseqid
         Primary Tag     $sf->hprimary_tag
         Source Tag      $sf->hsource_tag

       Added FeaturePair tags are :

          secstructure - entire description line (in case the regex used for
                         sequence ID doesn't adequately catch the name
          model        - name of the descriptor file (may include path to file)
          midline      - contains structural information from the descriptor
                         used as a query
          hit          - sequence of motif, separated by spaces according to
                         matches to the structure in the descriptor (in
                         SecStructure).
          seqname      - raw sequence name (for downstream parsing if needed)

       An additional parameter ('minscore') is added due to the huge number of spurious hits
       generated by cmsearch.  This screens data, only building and returning objects when a
       minimal bitscore is present.

       See t/rnamotif.t for example usage.

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:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR - Chris Fields

       Email 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 $obj = Bio::Tools::Infernal->new();
        Function: Builds a new Bio::Tools::Infernal object
        Returns : an instance of Bio::Tools::Infernal
        Args    : -fh/-file  - for input filehandle/filename
                  -motiftag  - primary tag used in gene features (default 'misc_binding')
                  -desctag   - tag used for display_name name (default 'infernal')
                  -srctag    - source tag used in all features (default 'Infernal')
                  -rfam      - Rfam id number
                  -cm        - covariance model used in analysis (may be same as rfam #)
                  -minscore  - minimum score (simple screener, since Infernal generates
                               a ton of spurious hits)
                  -version   - Infernal program version

   motif_tag
        Title   : motif_tag
        Usage   : $obj->motif_tag($newval)
        Function: Get/Set the value used for 'motif_tag', which is used for setting the
                  primary_tag.
                  Default is 'misc_binding' as set by the global $MotifTag.
                  'misc_binding' is used here because a conserved RNA motif is capable
                  of binding proteins (regulatory proteins), antisense RNA (siRNA),
                  small molecules (riboswitches), or nothing at all (tRNA,
                  terminators, etc.).  It is recommended that this be changed to other
                  tags ('misc_RNA', 'protein_binding', 'tRNA', etc.) where appropriate.
                  For more information, see:
                  http://www.ncbi.nlm.nih.gov/collab/FT/index.html
        Returns : value of motif_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   source_tag
        Title   : source_tag
        Usage   : $obj->source_tag($newval)
        Function: Get/Set the value used for the 'source_tag'.
                  Default is 'Infernal' as set by the global $SrcTag
        Returns : value of source_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   desc_tag
        Title   : desc_tag
        Usage   : $obj->desc_tag($newval)
        Function: Get/Set the value used for the query motif.  This will be placed in
                  the tag '-display_name'.  Default is 'infernal' as set by the global
                  $DescTag.  Use this to manually set the descriptor (motif searched for).
                  Since there is no way for this module to tell what the motif is from the
                  name of the descriptor file or the Infernal output, this should
                  be set every time an Infernal object is instantiated for clarity
        Returns : value of exon_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   covariance_model
        Title   : covariance_model
        Usage   : $obj->covariance_model($newval)
        Function: Get/Set the value used for the covariance model used in the analysis.
        Returns : value of exon_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   rfam
        Title   : rfam
        Usage   : $obj->rfam($newval)
        Function: Get/Set the Rfam accession number
        Returns : value of exon_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   minscore
        Title   : minscore
        Usage   : $obj->minscore($newval)
        Function: Get/Set the minimum score threshold for generating SeqFeatures
        Returns : value of exon_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   program_version
        Title   : program_version
        Usage   : $obj->program_version($newval)
        Function: Get/Set the Infernal program version
        Returns : value of exon_tag (a scalar)
        Args    : on set, new value (a scalar or undef, optional)
                  Note: this is set to $DEFAULT_VERSION by, um, default

   analysis_method
        Usage     : $obj->analysis_method();
        Purpose   : Inherited method. Overridden to ensure that the name matches
                    /Infernal/i.
        Returns   : String
        Argument  : n/a

   next_feature
        Title   : next_feature
        Usage   : while($gene = $obj->next_feature()) {
                         # do something
                  }
        Function: Returns the next gene structure prediction of the RNAMotif result
                  file. Call this method repeatedly until FALSE is returned.
                  The returned object is actually a SeqFeatureI implementing object.
                  This method is required for classes implementing the
                  SeqAnalysisParserI interface, and is merely an alias for
                  next_prediction() at present.
        Returns : A Bio::Tools::Prediction::Gene object.
        Args    : None (at present)

   next_prediction
        Title   : next_prediction
        Usage   : while($gene = $obj->next_prediction()) {
                         # do something
                  }
        Function: Returns the next gene structure prediction of the RNAMotif result
                  file. Call this method repeatedly until FALSE is returned.
        Returns : A Bio::SeqFeature::Generic object
        Args    : None (at present)