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::SearchIOmy $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 hmmbuildmy $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 hmmmy $seqio = $factory->hmmemit();# align sequences to the hmmmy $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.
[email protected] - General discussionhttp://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support
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:
http://redmine.open-bio.org/projects/bioperl/
AUTHOR - Shawn Hoon
Email: shawnh-at-gmx.net
CONTRIBUTORS
Shawn Hoon shawnh-at-gmx.netJason Stajich jason -at- bioperl -dot- orgScott Markel scott -at- scitegic -dot comSendu Bala [email protected]
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
new
Title : newUsage : $HMMER->new(@params)Function: Creates a new HMMER factoryReturns : Bio::Tools::Run::HMMERArgs : -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/hmmsearchAny option supported by a Hmmer program, where switches are givena true value, eg. -q => 1, EXCEPT for the following which are handledinternally/ incompatible: h verbose a compat pvmWARNING: the default sequence format passed to hmmpfam is msf. Ifyou 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 omitted and the corresponding method (eg.# hmmalign()) used later.-program => hmmalign|hmmbuild|hmmcalibrate|hmmemit|hmmpfam|hmmsearch
run
Title : runUsage : $obj->run($seqFile)Function: Runs one of the Hmmer programs, according to the current setting ofprogram() (as typically set during new(-program => 'name')).Returns : A Bio::SearchIO, Bio::AlignIO, Bio::SeqIO or boolean depending onthe program being run (see method corresponding to program name fordetails).Args : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
hmmalign
Title : hmmalignUsage : $obj->hmmalign()Function: Runs hmmalignReturns : A Bio::AlignIOArgs : list of Bio::SeqI OR Bio::Align::AlignI OR filename of file withsequences or an alignment
hmmbuild
Title : hmmbuildUsage : $obj->hmmbuild()Function: Runs hmmbuild, outputting an hmm to the file currently set by methodhmm() or db(), or failing that, o() or outfile(), or failing that, toa temp location.Returns : true on successArgs : Bio::Align::AlignI OR filename of file with an alignment
hmmcalibrate
Title : hmmcalibrateUsage : $obj->hmmcalibrate()Function: Runs hmmcalibrateReturns : true on successArgs : none (hmm() must be set, most likely by the -hmm option of new()), ORoptionally supply an hmm filename to set hmm() and run
hmmemit
Title : hmmemitUsage : $obj->hmmemit()Function: Runs hmmemitReturns : A Bio::SeqIOArgs : none (hmm() must be set, most likely by the -hmm option of new()), ORoptionally supply an hmm filename to set hmm() and run
hmmpfam
Title : hmmpfamUsage : $obj->hmmpfam()Function: Runs hmmpfamReturns : A Bio::SearchIOArgs : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
hmmsearch
Title : hmmsearchUsage : $obj->hmmsearch()Function: Runs hmmsearchReturns : A Bio::SearchIOArgs : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
_setinput
Title : _setinputUsage : $obj->_setinput()Function: Internal(not to be used directly)Returns : filenameArgs : A Bio::PrimarySeqI, Bio::Align::AlignI or filename
_run
Title : _runUsage : $obj->_run()Function: Internal(not to be used directly)Returns : Bio::SearchIOArgs : file name
_setparams
Title : _setparamsUsage : Internal function, not to be called directlyFunction: creates a string of params to be used in the command stringReturns : string of paramsArgs : none
program_name
Title : program_nameUsage : $factory>program_name()Function: holds the program nameReturns : stringArgs : none
program_dir
Title : program_dirUsage : $factory->program_dir(@params)Function: returns the program directory, obtained from ENV variable.Returns : stringArgs : none
_writeSeqFile
Title : _writeSeqFileUsage : obj->_writeSeqFile($seq)Function: Internal(not to be used directly)Returns : filenameArgs : list of Bio::SeqI
_writeAlignFile
Title : _writeAlignFileUsage : obj->_writeAlignFile($seq)Function: Internal(not to be used directly)Returns : filenameArgs : list of Bio::Align::AlignI