Bio::T...Glimmer(3pm)

πŸ“¦
version 1.7.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’… Bio::Tools::Glimmer β€” the ✨ parser ✨ for Glimmer 2.X/3.X (prokaryotic) and GlimmerM/GlimmerHMM (eukaryotic) gene predictions πŸ§¬πŸ¦‹

okay bestie, sit down, hydrate, and let me tell you about this icon of a Perl module. It lives in the User Contributed Perl Documentation section of your man pages and honestly? it's giving essential.


🌸 SYNOPSIS 🌸

like, here's the vibe, fr fr:

use Bio::Tools::Glimmer;

# file
my $parser = Bio::Tools::Glimmer->new(-file => $file);
# filehandle:
$parser = Bio::Tools::Glimmer->new( -fh  => \*INPUT );
# provide a sequence identifier (Glimmer 2.X)
my $parser = Bio::Tools::Glimmer->new(-file => $file, -seqname => seqname);
# force format (override automatic detection)
my $parser = Bio::Tools::Glimmer->new(-file => $file, -format => 'GlimmerM');

# parse the results
# note: this class is-a Bio::Tools::AnalysisResult which implements
# Bio::SeqAnalysisParserI, i.e., $glimmer->next_feature() is the same

while(my $gene = $parser->next_prediction()) {
    # For eukaryotic input (GlimmerM/GlimmerHMM), $gene will be an instance
    # of Bio::Tools::Prediction::Gene, which inherits off
    # Bio::SeqFeature::Gene::Transcript, and $gene->exons() will return an
    # array of Bio::Tools::Prediction::Exon objects.
    # For prokaryotic input (Glimmer2.X/Glimmer3.X), $gene will be an
    # instance of Bio::SeqFeature::Generic

    # all exons (eukaryotic only):
    @exon_arr = $gene->exons();
    # initial exons only
    @init_exons = $gene->exons('Initial');
    # internal exons only
    @intrl_exons = $gene->exons('Internal');
    # terminal exons only
    @term_exons = $gene->exons('Terminal');
}

like. look at that loop. it's clean. it's iconic. it's literally doing the most and the least at the same time. πŸ’–


πŸŽ€ DESCRIPTION πŸŽ€

So this is a module for parsing Glimmer, GlimmerM and GlimmerHMM predictions. It will create gene objects from the prediction report which can be attached to a sequence using Bioperl objects, or output as GFF suitable for loading into Bio::DB::GFF for use with Gbrowse. πŸ‘‘

✨ the lore ✨

⚠️ heads up bestie, two very important receipts: Note that Glimmer 2.X will only process the first sequence in a fasta file, and the prediction report does not contain any sort of sequence identifier. Not me finding out the hard way 😭 ⚠️ and ALSO: Note that Glimmer 3.X produces two output files. This module only parses the .predict file. Just the one. Don't come for the other one, it's not invited. πŸ’€

🫢 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. no cap, they actually read it.

  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. the more detail the better, bestie β€” give them the whole story, not just "it doesn't work" πŸ™ˆ

πŸ› 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 email or the web:

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

πŸ‘‘ AUTHOR - Jason Stajich

Email jason-at-bioperl-dot-org


🌟 CONTRIBUTORS

  • Torsten Seemann
  • Mark Johnson

shoutout to the legends, we love to see it 🫢


πŸ“– APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _. yes bestie, the underscore means backstage only, do not touch unless you know what you're doing πŸ’…

πŸ’« new

Title   : new
Usage   : my $obj = Bio::Tools::Glimmer->new();
Function: Builds a new Bio::Tools::Glimmer object
Returns : an instance of Bio::Tools::Glimmer
Args    : format ('Glimmer', 'GlimmerM', 'GlimmerHMM'), seqname

πŸ’« analysis_method

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

πŸ’« next_feature

Title   : next_feature
Usage   : while($gene = $glimmer->next_feature()) {
                 # do something
          }
Function: Returns the next gene structure prediction of the Glimmer 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.

Example :
Returns : A Bio::Tools::Prediction::Gene object.
Args    :

πŸ’« next_prediction

Title   : next_prediction
Usage   : while($gene = $glimmer->next_prediction()) {
                 # do something
          }
Function: Returns the next gene structure prediction of the Glimmer result
          file. Call this method repeatedly until FALSE is returned.

Example :
Returns : A Bio::Tools::Prediction::Gene object.
Args    :

πŸ’« _parse_predictions

Title   : _parse_predictions()
Usage   : $obj->_parse_predictions()
Function: Parses the prediction section. Automatically called by
          next_prediction() if not yet done.
Example :
Returns :

πŸ’« _parse_eukaryotic

Title   : _parse_eukaryotic()
Usage   : $obj->_parse_eukaryotic()
Function: Parses the prediction section. Automatically called by
          next_prediction() if not yet done.
Example :
Returns :

πŸ’« _parse_prokaryotic

Title   : _parse_prokaryotic()
Usage   : $obj->_parse_prokaryotic()
Function: Parses the prediction section. Automatically called by
          next_prediction() if not yet done.
Example :
Returns :

πŸ’« _prediction

Title   : _prediction()
Usage   : $gene = $obj->_prediction()
Function: internal
Example :
Returns :

πŸ’« _add_prediction

Title   : _add_prediction()
Usage   : $obj->_add_prediction($gene)
Function: internal
Example :
Returns :

πŸ’« _predictions_parsed

Title   : _predictions_parsed
Usage   : $obj->_predictions_parsed
Function: internal
Example :
Returns : TRUE or FALSE

πŸ’« _seqname

Title   : _seqname
Usage   : $obj->_seqname($seqname)
Function: internal (for Glimmer 2.X)
Example :
Returns : String

πŸ’« _seqlength

Title   : _seqlength
Usage   : $obj->_seqlength($seqlength)
Function: internal (for Glimmer 2.X)
Example :
Returns : String

πŸ’« _format

Title   : _format
Usage   : $obj->_format($format)
Function: internal
Example :
Returns : String

πŸ’« _detail_file

Title   : _detail_file
Usage   : $obj->_detail_file($filename)
Function: internal (for Glimmer 3.X)
Example :
Returns : String

and that's the whole page, bestie!! πŸŽ‰βœ¨πŸ’– this beauty ships as perl v5.32.1, dated 2021-08-15, and it's filed under Bio::T...Glimmer(3pm). go parse some genes, you absolute icon πŸ‘‘πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from