|
 |

|
|
HMMER is used to search sequence databases for homologs of protein sequences and to make protein sequence alignments. It is the core utility that protein family databases such as Pfam and InterPro are based upon. HMMER can be used to search sequence databases with single query sequences, but it becomes particularly powerful when the query is a multiple sequence alignment of a sequence family.
HMMER makes a profile of the query that assigns a position-specific scoring system for substitutions,
insertions, and deletions. HMMER profiles are probabilistic models called "profile hidden Markov models" (profile HMMs) ( Krogh et al., 1994; Eddy, 1998; Durbin et al., 1998).
|
|
|
Compared to BLAST, FASTA, and other sequence alignment and database search tools based on position-independent scoring parameters, HMMER aims to be significantly more accurate and more able to detect remote homologs, because of the strength of its underlying probability models. Profile HMMs are statistical models of multiple sequence alignments, or even of single sequences. They capture position-specific information about how conserved each column of the alignment is, and which residues are likely. This property of profiles captures important information about the degree of conservation at various positions in the multiple alignment, and the varying degree to which gaps and insertions are permitted.
In the past, this strength came at a significant computational cost, with profile HMM implementations running about 100x slower than comparable BLAST searches. With HMMER3, HMMER is now essentially as fast as BLAST. The main performance gain is due to a heuristic filter that finds high-scoring un-gapped matches within database sequences to a query profile, this heuristic results in a computation time comparable to BLAST with little impact on accuracy.
|
|
|
For more detailed information and exhaustive tutorial see the HMMER pdf userguide, especially Chaper 3.
|
|
|
The HMMER package bundles a bunch of HMM based programs for different use cases:
Program |
Description |
Single sequence queries: new to HMMER3 |
phmmer |
Search a sequence against a sequence database. (BLASTP-like) |
jackhmmer |
Iteratively search a sequence against a sequence database. (PSIBLAST-like) |
Replacements for HMMER2's functionality |
hmmbuild |
Build a profile HMM from an input multiple alignment. |
hmmsearch |
Search a profile HMM against a sequence database. |
hmmscan |
Search a sequence against a profile HMM database. |
hmmalign |
Make a multiple alignment of many sequences to a common profile HMM. |
Other utilities |
hmmconvert |
Convert profile formats to/from HMMER3 format. |
hmmemit |
Generate (sample) sequences from a profile HMM. |
hmmfetch |
Get a profile HMM by name or accession from an HMM database. |
hmmpress |
Format an HMM database into a binary format for hmmscan. |
hmmstat |
Show summary statistics for each profile in an HMM database. |
|
|