Skip to main content

Overview

HH-suite tools share many common parameters while also providing tool-specific options. This guide covers the most important parameters across hhblits, hhsearch, and hhalign.

Core Parameters

Input/Output

-i
string
required
Input file containing query sequence or alignment in FASTA, A2M, or A3M format
hhblits -i query.fasta -d database -o results.hhr
-o
string
required
Output file for search results in HHR format
hhsearch -i query.a3m -d pdb70 -o output.hhr
-d
string
required
Database basename (without file extensions)
hhblits -i query.fas -d /data/uniclust30 -o results.hhr

Alignment Output Formats

-oa3m
string
Output alignment in A3M format (MSA with query)
hhblits -i query.fas -d database -oa3m result.a3m
-opsi
string
Output alignment in PSI-BLAST format
-ohhm
string
Output HMM file
-blasttab
string
Output in BLAST tab format (M8)
-atab
string
Output alignment in tabular format with residue indices

Search Control

E-value and Probability Thresholds

# Include hits with E-value <= 0.001 in hit list
hhsearch -i query.a3m -d pdb70 -E 0.001 -o results.hhr

# Include hits with E-value <= 0.01 in output alignment
hhsearch -i query.a3m -d pdb70 -e 0.01 -oa3m output.a3m
-E
float
default:"1E+03"
Maximum E-value threshold for inclusion in hit list
-e
float
default:"1E-03"
Maximum E-value threshold for inclusion in output alignment and HMM
-p
float
default:"20"
Minimum probability threshold (0-100) for inclusion in hit list

Number of Hits

-Z
int
default:"500"
Maximum number of lines in hit list
-z
int
default:"10"
Minimum number of lines in hit list
-B
int
default:"500"
Maximum number of alignments in alignment list
-b
int
default:"10"
Minimum number of alignments in alignment list

Gap Penalties

Gap Opening and Extension

Gap penalties are specified as positive numbers but applied as penalties (negative scores).
-gapd
float
default:"0.15"
Gap open penalty factor for deletions (query gaps)
-gape
float
default:"1.0"
Gap extension penalty factor
-gapf
float
default:"0.6"
Factor for increasing gap opening penalty for deletions
-gapg
float
default:"0.6"
Factor for increasing gap opening penalty for insertions (template gaps)
-gaph
float
default:"0.6"
Factor for increasing gap extension penalty for deletions
-gapi
float
default:"0.6"
Factor for increasing gap extension penalty for insertions

End Gap Penalties

-egq
float
default:"0.0"
Penalty for end gaps when query not fully covered
-egt
float
default:"0.0"
Penalty for end gaps when template not fully covered

Pseudocounts

Pseudocounts prevent overfitting to the query alignment.

Admixture Parameters

-pc_hhm_context_engine.admix
int
default:"2"
Admixture mode:
  • 1: Constant admixture
  • 2: HHsearch admixture (default)
  • 3: CSBlast admixture
-pcm
int
default:"0"
Pseudocount mode for HMM:
  • 0: Default (context-dependent if available)
  • 1: Constant admixture
  • 2: HHsearch admixture
  • 3: CSBlast admixture
-pca
float
default:"1.0"
Pseudocount admixture parameter a
-pcb
float
default:"1.5"
Pseudocount admixture parameter b
-pcc
float
default:"1.0"
Pseudocount admixture parameter c (HHsearch mode only)

Context-Specific Pseudocounts

-csb
float
default:"1.7"
Context-specific pseudocount parameter b
-csw
float
default:"1.7"
Context-specific pseudocount weight
-cs
string
Path to context library for context-specific pseudocounts

Secondary Structure Scoring

-ssm
int
default:"2"
Secondary structure scoring mode:
  • 0: No SS scoring
  • 1: SS scoring after alignment
  • 2: SS scoring during alignment (default)
-ssw
float
default:"0.11"
Weight of secondary structure score
-ssa
float
default:"1.0"
SS state evolution matrix: M1 = (1-ssa)I + ssaM0

Alignment Mode

Local (default)
# Align best matching regions
hhsearch -i query.a3m -d pdb70 -loc -o results.hhr
Local alignment (Smith-Waterman) finds the best matching subsequences.
-loc
flag
Local alignment mode (default)
-glob
flag
Global alignment mode

Realignment and MAC Algorithm

-realign
flag
Realign hits using MAC (Maximum Accuracy) algorithm
-mact
float
default:"0.35"
MAC alignment threshold (controls greediness at alignment ends)
Lower values (e.g., 0.1) produce more conservative alignments
-realign_max
int
default:"500"
Maximum number of hits to realign
-alt
int
default:"1"
Number of alternative alignments to find

Filtering Parameters

Query MSA Filtering

-id
int
default:"90"
Maximum sequence identity with all other sequences (0-100)
-qid
int
default:"0"
Minimum sequence identity with query sequence (0-100)
-qsc
float
default:"-20.0"
Minimum score per column with query sequence
-cov
int
default:"0"
Minimum coverage threshold (0-100)
-diff
int
default:"0"
Filter most different sequences that pass other thresholds

Match State Assignment

-M
string
default:"a2m"
Match state assignment:
  • a2m: By upper/lower case (default)
  • first: By first sequence
  • [0-100]: By percentage rule (e.g., -M 50)
-Mgaps
int
default:"100"
Maximum percentage of gaps in match states

HHblits-Specific Parameters

-n
int
default:"2"
Number of search iterations
Three iterations
hhblits -i query.fas -d uniclust30 -n 3 -oa3m result.a3m
-e
float
default:"1E-03"
E-value threshold for inclusion in next iteration

Prefiltering

-prefilter
flag
default:"enabled"
Use prefiltering to speed up search (enabled by default)
-noprefilt
flag
Disable prefiltering
-prefilter_evalue_thresh
float
default:"1000"
E-value threshold for prefilter
-min_prefilter_hits
int
default:"100"
Minimum number of hits to pass prefilter

Diversity Control

-neffmax
float
default:"20"
Maximum Neff (diversity) for MSA after iteration

Performance Parameters

Multi-threading

-cpu
int
default:"2"
Number of CPU threads to use
Using 8 threads
hhblits -i query.fas -d database -cpu 8 -o results.hhr

Memory Management

-maxres
int
default:"15000"
Maximum number of HMM states (match states)
-maxseq
int
default:"65535"
Maximum number of sequences in input alignment
-maxmem
float
default:"3.0"
Maximum memory (GB) for realignment

Output Customization

Alignment Display

-seq
int
default:"1"
Maximum number of query/template sequences to show in alignment
-aliw
int
default:"80"
Alignment width (characters per line)
-showcons
flag
Show consensus sequence in alignment
-showdssp
flag
Show DSSP secondary structure in alignment
-showpred
flag
Show predicted secondary structure in alignment

Verbosity

-v
int
default:"2"
Verbosity level:
  • 0: Errors only
  • 1: Warnings
  • 2: Info (default)
  • 3: Debug

Advanced Scoring Parameters

Score Offset and Correlation

-shift
float
default:"-0.03"
Score offset for match-match states
Adjusts the scoring to balance sensitivity and specificity
-corr
float
default:"0.1"
Weight of correlations between scores with |i-j| <= 4
-sc
int
default:"1"
Column score mode:
  • 0: No amino acid composition correction
  • 1: 1/2(query_avg + template_avg) (default)
  • 2: Template average frequencies
  • 3: Query average frequencies

Minimum Overlap

-min-overlap
int
default:"0"
Minimum overlap between query and template
Require 30-residue overlap
hhsearch -i query.a3m -d pdb70 -min-overlap 30 -o results.hhr

Practical Examples

# High sensitivity, more iterations
hhblits -i query.fas -d uniclust30 \
  -n 3 \
  -e 1E-5 \
  -realign \
  -mact 0.1 \
  -cpu 8 \
  -o results.hhr \
  -oa3m output.a3m

Parameter Files

Save frequently used parameters in a file:
hhblits.params
-n 3
-e 1E-5
-cpu 8
-realign
-mact 0.1
Use with @ syntax:
hhblits -i query.fas -d database @hhblits.params -o results.hhr

Next Steps

Algorithms

Understand how parameters affect algorithms

Compilation

Build HH-suite from source

Build docs developers (and LLMs) love