Bio::Tools::Run::Glimmer - Wrapper for local execution of Glimmer, GlimmerM and GlimmerHMM.


  # glimmer2
  my $factory =
      Bio::Tools::Run::Glimmer->new('-program' => 'glimmer3',
                                    '-model'   => 'model.icm');
  # glimmer3
  my $factory =
      Bio::Tools::Run::Glimmer->new('-program' => 'glimmer2',
                                    '-model'   => 'model.icm');
  # glimmerm
  my $factory =
      Bio::Tools::Run::Glimmer->new('-program' => 'glimmerm');

  # glimmerHMM
  my $factory =
      Bio::Tools::Run::Glimmer->new('-program' => 'glimmerHMM');

  # Pass the factory Bio::Seq objects
  # returns a Bio::Tools::Glimmer object
  my $glimmer = $factory->run($seq);
  my $glimmer = $factor->run(@seq);


Wrapper module for the Glimmer family of programs. Should work with all currently available flavors: Glimmer, GlimmerM and GlimmerHMM. However, only Glimmer 2.X and 3.X have been tested.

Glimmer is open source and available at

GlimmerM is open source and available at

GlimmerHMM is open source and available at

Note that Glimmer 2.X will only process the first sequence in a fasta file (if you run() more than one sequence at a time, only the first will be processed).

Note that Glimmer 3.X produces two output files. This module only passes the .predict file to Bio::Tools::Glimmer.


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.                  - General discussion  - About the mailing lists


Please direct usage questions or support issues to the mailing list:

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:

AUTHOR - Mark Johnson

 Email: johnsonm-at-gmail-dot-com


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


 Title   : program_name
 Usage   : $factory>program_name()
 Function: gets/sets the program name
 Returns:  string
 Args    : string


 Title   : program_dir
 Usage   : $factory->program_dir()
 Function: gets/sets the program dir
 Returns:  string
 Args    : string


 Title   : model
 Usage   : $factory>model()
 Function: gets/sets the name of the model (icm) file
 Returns:  string
 Args    : string


 Title   : new
 Usage   : $glimmer->new(@params)
 Function: creates a new Glimmer factory
 Returns:  Bio::Tools::Run::Glimmer
 Args    : 


 Title   :   run
 Usage   :   $obj->run($seq_file)
 Function:   Runs Glimmer/GlimmerM/GlimmerHMM
 Returns :   A Bio::Tools::Glimmer object
 Args    :   An array of Bio::PrimarySeqI objects


 Title   :   _run
 Usage   :   $obj->_run()
 Function:   Internal(not to be used directly)
 Returns :   An instance of Bio::Tools::Glimmer 
 Args    :   file name, sequence identifier (optional)


 Title   :   _write_seq_file
 Usage   :   obj->_write_seq_file($seq) or obj->_write_seq_file(@seq)
 Function:   Internal(not to be used directly)
 Returns :   Name of a temp file containing program output
 Args    :   One or more Bio::PrimarySeqI objects