HMMER icon

HMMER

3.4

Sensitive sequence homology search using profile hidden Markov models Learn more

Input

0/10,000,000
0/10,000,000
0 credits

Output

Configure inputs to begin

Set options on the left, then click “Run HMMER”.

What is HMMER?

HMMER is a sequence-analysis software suite that uses profile hidden Markov models (HMMs) to search for homologous biological sequences. ProteinIQ supports its phmmer and jackhmmer protein searches against a target sequence database supplied with the job.

Profile HMMs turn multiple sequence alignments into position-specific scoring systems. They capture how conserved each position is in a protein family and model insertions and deletions, making them particularly effective for finding distant homologs that BLAST might miss.

For another approach to large sequence searches, compare MMseqs2. For structure-based similarity searches, use FoldSeek.

How does HMMER work?

Profile hidden Markov models

A profile HMM is a statistical model that represents a protein family. Each position in the model has probabilities for observing different amino acids, based on how conserved that position is across family members.

The model consists of three types of states at each position:

  • Match states represent conserved positions in the alignment. These have high probabilities for amino acids commonly found at that position in the family.
  • Insertion states allow for extra residues not present in the consensus sequence. These model positions where some family members have additional amino acids.
  • Deletion states represent gaps in the alignment. These allow sequences to skip positions that other family members have.

When HMMER compares your query to a target sequence, it calculates the probability of the target being generated by the profile HMM. This probability is converted to a bit score and E-value.

Search modes

HMMER offers two search modes with different sensitivity-speed tradeoffs:

  • phmmer performs a single-pass search, comparing your query sequence directly against the target database. It builds a simple profile from your query and scores all targets in one iteration. Use this for finding close homologs quickly.
  • jackhmmer performs iterative searches like PSI-BLAST. After the first round, it builds a profile HMM from significant hits and searches again with the refined model. Each iteration can detect more distant homologs. The search continues until either no new sequences are found (convergence) or the maximum iterations is reached.

The iterative approach makes jackhmmer significantly more sensitive for detecting remote homologs. A protein with only 20% sequence identity to your query might be missed by phmmer but found in jackhmmer's third iteration.

Scoring and statistics

HMMER reports two key statistics for each hit:

The bit score measures support for the profile model relative to a background model. Higher scores indicate stronger matches, but a single bit-score cutoff is not a universal test of homology across protein families.

The E-value (expectation value) is the number of hits with this score or better expected by chance in a database of this size. An E-value of 0.0010.0010.001 means you'd expect one false positive per 1,000 database searches.

E=P×NE = P \times NE=P×N

where PPP is the p-value from the score and NNN is the database size.

E-values below 0.0010.0010.001 are strong evidence of homology. Values between 0.0010.0010.001 and 0.010.010.01 suggest possible relatedness. Values above 0.10.10.1 are likely chance matches.

How to use HMMER online

Provide query proteins and a target protein database as two FASTA inputs. Choose phmmer for one search pass or jackhmmer for iterative profile searches. ProteinIQ returns hit statistics, domain tables, and downloadable search files. The search runs against the supplied target sequences; no preselected UniProt or Pfam database is searched automatically.

Query and target sequences

Query sequences should be in FASTA format. You can search with a single sequence or multiple queries. Each query will be searched independently against the target database.

Target sequences/database contains the sequences you want to search for homologs. This can be a custom set of sequences or a large protein database. Larger databases yield higher E-values for the same match quality.

Both inputs must contain protein sequences. HMMER's phmmer and jackhmmer programs are protein-search methods; nucleotide searches require nhmmer, which is not part of this tool.

Search parameters

Search mode determines whether to use phmmer or jackhmmer. Use phmmer for fast searches when looking for close homologs. Use jackhmmer when you need maximum sensitivity to detect distant evolutionary relationships.

E-value threshold controls which hits are reported. HMMER's default is 101010, which preserves the complete reportable hit set. Lower values are more stringent; use 0.0010.0010.001 when you only want strong matches.

Iterative search options

Sequence inclusion E-value (jackhmmer only) determines which whole-sequence hits are included in the profile for the next iteration. The native default is 0.0010.0010.001, which is deliberately more stringent than the default reporting threshold. Sequences with E-values below this cutoff are added to the profile HMM.

Domain inclusion E-value applies the same decision at the domain level. Its native jackhmmer default is also 0.0010.0010.001.

Setting this too low makes jackhmmer converge quickly but may miss true positives. Setting it too high includes false positives in the profile, degrading sensitivity.

Maximum iterations (jackhmmer only) stops the search after this many rounds, even if it hasn't converged. Most searches converge within 3-5 iterations. If your search hits the maximum without converging, the query may be too promiscuous or the threshold too loose.

Understanding the results

The Data tab contains one row per final reported hit. Values retain PyHMMER's full numeric precision and include target, whole-sequence statistics, best-domain statistics, coordinates, and inclusion state.

Query identifies which input sequence produced this hit. If you searched multiple queries, each is reported separately.

Target is the name of the matching sequence from the database. This corresponds to the FASTA header.

E-value is the expected number of chance matches at least this strong in the searched database. Lower values provide stronger statistical evidence, but the reporting threshold is not a functional annotation threshold.

For example, a hit with an E-value of 0.05 passes the default reporting threshold of 10, but fails the default jackhmmer sequence inclusion threshold of 0.001. It can appear in the report without being used to build the next profile. Inspect domain coverage and alignments before transferring a function annotation.

Score (in bits) measures match quality. Unlike E-values, scores are not corrected for database size. A score of 30 bits means the match is 2302^{30}230 times more likely under the HMM than by chance.

Bias reports the compositional bias correction. A large correction relative to the score warrants examining the alignment for low-complexity or repetitive sequence; it is not a standalone pass/fail result.

Included (jackhmmer only) shows whether this hit was used to build the profile in iterative rounds. Only hits meeting the inclusion threshold become part of the growing profile HMM.

The Files tab includes a combined TSV and detailed JSON record plus HMMER-native target and domain tables. phmmer searches also return a Stockholm alignment of included hits when one is available. jackhmmer searches return the HMM and Stockholm alignment from every iteration, including the final converged model.

Use cases

HMMER excels at several common bioinformatics tasks:

Finding protein family members across multiple species. Search with a known family member to identify orthologs and paralogs. The profile HMM approach handles variation across species better than simple sequence comparison.

Investigating unknown sequences by finding characterized relatives. A significant match supports relatedness; assigning the same function also requires compatible domain architecture and relevant functional residues.

Detecting distant homologs that diverged long ago. Proteins with only 20-30% sequence identity can be reliably detected with jackhmmer, while BLAST might miss them.

Building profile HMMs for downstream analysis. Each jackhmmer iteration returns an HMM file and its Stockholm alignment, so you can inspect profile evolution or reuse the final model in another HMMER analysis.

Limitations

HMMER's sensitivity comes with computational cost. Searching large databases can take several minutes. For very large-scale searches where speed is critical, consider MMseqs2, which is orders of magnitude faster with slightly reduced sensitivity.

Short queries (less than 25 residues) may produce unreliable statistics. The profile HMM needs sufficient information to distinguish signal from noise.

Compositional bias can inflate scores. Sequences rich in one amino acid (e.g., polyglutamine tracts) may score well by chance. The bias score helps identify these false positives.

jackhmmer can diverge if the inclusion threshold is too permissive. Including false positives in early rounds pollutes the profile, causing it to match unrelated sequences in later iterations.

Table of contents

Related tools

MAFFT

MAFFT

Perform multiple sequence alignment using MAFFT (Multiple Alignment using Fast Fourier Transform). Supports multiple algorithms from fast progressive to highly accurate iterative methods.

sequence-analysisalignment+5
MMseqs2

MMseqs2

Ultra-fast sequence search and clustering. 10,000x faster than BLAST for database searches, with powerful sequence clustering capabilities for proteins and nucleotides.

sequence-analysiscomparison+4
MUSCLE5

MUSCLE5

Align protein, DNA, or RNA sequences with MUSCLE v5.3 using the native PPP or Super5 algorithm, with optional stratified and diversified ensembles.

sequence-analysisalignment+5
ANARCI

ANARCI

Number antibody and T cell receptor variable domain sequences using IMGT, Chothia, Kabat, Martin, AHo, or Wolfguy. Reports chain type, the best HMM species match, and optional germline assignments.

sequence-analysisdatabase-search+4
IgBLAST

IgBLAST

Analyze immunoglobulin (antibody) and T cell receptor variable domain sequences. Identifies V/D/J gene segments, delineates CDR regions, and analyzes rearrangement junctions.

sequence-analysisdatabase-search+5
StringZilla v5

StringZilla v5

Calculate batched Levenshtein distances and Needleman–Wunsch or Smith–Waterman sequence scores with StringZilla v5 CPU acceleration.

sequence-analysisalignment+4
FoldSeek

FoldSeek

Fast protein structure search, comparison, and clustering. Search your structure against 200M+ AlphaFold predictions, compare 2 structures, or cluster up to 2500.

structure-analysisalignment+3
USAlign

USAlign

USAlign (Universal Structure Alignment) aligns protein, RNA, and DNA structures to compute TM-scores and generate superposed structures. Compare 3D structures to assess structural similarity.

structure-analysisalignment+4
MUMmer4

MUMmer4

Rapidly align and compare DNA sequences using MUMmer4 nucmer. Perform pairwise genome comparisons to identify SNPs, indels, and structural variants between reference and query genomes.

sequence-analysisalignment+3
RAxML-NG

RAxML-NG

Perform maximum-likelihood phylogenetic tree inference with RAxML-NG for aligned protein, DNA, or binary character data. Supports ML search, bootstrap analysis, and native automatic model-family selection.

sequence-analysiscomparison+4