Bio::Tools::Run::Hmmer.3pm

Langue: en

Version: 2009-02-28 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::Tools::Run::Hmmer - Wrapper for local execution of hmmalign, hmmbuild, hmmcalibrate, hmmemit, hmmpfam, hmmsearch

SYNOPSIS

   # run hmmsearch (similar for hmmpfam)
   my $factory = Bio::Tools::Run::Hmmer->new(-hmm => 'model.hmm');
 
   # Pass the factory a Bio::Seq object or a file name, returns a Bio::SearchIO
   my $searchio = $factory->hmmsearch($seq);
 
   while (my $result = $searchio->next_result){
    while(my $hit = $result->next_hit){
     while (my $hsp = $hit->next_hsp){
             print join("\t", ( $result->query_name,
                                $hsp->query->start,
                                $hsp->query->end,
                                $hit->name,
                                $hsp->hit->start,
                                $hsp->hit->end,
                                $hsp->score,
                                $hsp->evalue,
                                $hsp->seq_str,
                                )), "\n";
     }
    }
   }
 
   # build a hmm using hmmbuild
   my $aio = Bio::AlignIO->new(-file => "protein.msf", -format => 'msf');
   my $aln = $aio->next_aln;
   my $factory =  Bio::Tools::Run::Hmmer->new(-hmm => 'model.hmm');
   $factory->hmmbuild($aln);
 
   # calibrate the hmm
   $factory->calibrate();
 
   # emit a sequence stream from the hmm
   my $seqio = $factory->hmmemit();
 
   # align sequences to the hmm
   my $alnio = $factory->hmmalign(@seqs);
 
 

DESCRIPTION

Wrapper module for Sean Eddy's HMMER suite of program to allow running of hmmalign, hmmbuild, hmmcalibrate, hmmemit, hmmpfam and hmmsearch. Binaries are available at http://hmmer.janelia.org/

You can pass most options understood by the command-line programs to new(), or set the options by calling methods with the same name as the argument. In both instances, case sensitivity matters.

Additional methods are hmm() to specifiy the hmm file (needed for all HMMER programs) which you would normally set in the call to new().

The HMMER programs must either be in your path, or you must set the environment variable HMMERDIR to point to their location.

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://bugzilla.open-bio.org/
 
 

AUTHOR - Shawn Hoon

  Email: shawnh-at-gmx.net
 
 

CONTRIBUTORS

  Shawn Hoon shawnh-at-gmx.net
  Jason Stajich jason -at- bioperl -dot- org
  Scott Markel scott -at- scitegic -dot com
  Sendu Bala bix@sendu.me.uk
 
 

APPENDIX

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

new

  Title   : new
  Usage   : $HMMER->new(@params)
  Function: Creates a new HMMER factory
  Returns : Bio::Tools::Run::HMMER
  Args    : -hmm => filename # the hmm, used by all program types; if not set
                             # here, must be set with hmm() method prior to
                             # running anything
            -_READMETHOD => 'hmmer' (default) || 'hmmer_pull' # the parsing
                                                              # module to use for
                                                              # hmmpfam/hmmsearch
 
            Any option supported by a Hmmer program, where switches are given
            a true value, eg. -q => 1, EXCEPT for the following which are handled
            internally/ incompatible: h verbose a compat pvm
 
            WARNING: the default sequence format passed to hmmpfam is msf. If
            you are using a different format, you need to pass it with informat.
            e.g.
            my $factory = Bio::Tools::Run::Hmmer->new(-hmm => 'model.hmm',
                                                      -informat => 'fasta');
 
            -q is synonymous with -quiet
            -o is synonymous with -outfile
 
            # may be specified here, allowing run() to be used, or
            # it can be ommitted and the corresponding method (eg.
            # hmmalign()) used later.
            -program => hmmalign|hmmbuild|hmmcalibrate|hmmemit|hmmpfam|hmmsearch
 
 

run

  Title   : run
  Usage   : $obj->run($seqFile)
  Function: Runs one of the Hmmer programs, according to the current setting of
            program() (as typically set during new(-program => 'name')).
  Returns : A Bio::SearchIO, Bio::AlignIO, Bio::SeqIO or boolean depending on
            the program being run (see method corresponding to program name for
            details).
  Args    : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
 
 

hmmalign

  Title   : hmmalign
  Usage   : $obj->hmmalign()
  Function: Runs hmmalign
  Returns : A Bio::AlignIO
  Args    : list of Bio::SeqI OR Bio::Align::AlignI OR filename of file with
            sequences or an alignment
 
 

hmmbuild

  Title   : hmmbuild
  Usage   : $obj->hmmbuild()
  Function: Runs hmmbuild, outputting an hmm to the file currently set by method
            hmm() or db(), or failing that, o() or outfile(), or failing that, to
            a temp location.
  Returns : true on success
  Args    : Bio::Align::AlignI OR filename of file with an alignment
 
 

hmmcalibrate

  Title   : hmmcalibrate
  Usage   : $obj->hmmcalibrate()
  Function: Runs hmmcalibrate
  Returns : true on success
  Args    : none (hmm() must be set, most likely by the -hmm option of new()), OR
            optionally supply an hmm filename to set hmm() and run
 
 

hmmemit

  Title   : hmmemit
  Usage   : $obj->hmmemit()
  Function: Runs hmmemit
  Returns : A Bio::SeqIO
  Args    : none (hmm() must be set, most likely by the -hmm option of new()), OR
            optionally supply an hmm filename to set hmm() and run
 
 

hmmpfam

  Title   : hmmpfam
  Usage   : $obj->hmmpfam()
  Function: Runs hmmpfam
  Returns : A Bio::SearchIO
  Args    : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
 
 

hmmsearch

  Title   : hmmsearch
  Usage   : $obj->hmmsearch()
  Function: Runs hmmsearch
  Returns : A Bio::SearchIO
  Args    : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
 
 

_setinput

  Title   : _setinput
  Usage   : $obj->_setinput()
  Function: Internal(not to be used directly)
  Returns : filename
  Args    : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
 
 

_run

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

_setparams

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

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    : none
 
 

_writeSeqFile

  Title   : _writeSeqFile
  Usage   : obj->_writeSeqFile($seq)
  Function: Internal(not to be used directly)
  Returns : filename
  Args    : list of Bio::SeqI
 
 

_writeAlignFile

  Title   : _writeAlignFile
  Usage   : obj->_writeAlignFile($seq)
  Function: Internal(not to be used directly)
  Returns : filename
  Args    : list of Bio::Align::AlignI