FoldSeek
latestSearch AlphaFold DB, compare structures, or cluster by 3D similarity
The Foldseek server on ProteinIQ searches one protein structure against AlphaFold DB, the PDB and four other structure databases, or compares, searches and clusters structures you upload yourself. A PDB or mmCIF file goes in; a table of structural matches comes back with probabilities, E-values, sequence identity and alignment ranges, plus every native Foldseek file for download.
Database searches are sent to the public Foldseek search server run by the Steinegger lab, the same service behind its own web page. Comparisons, local searches and clustering run the Foldseek program on ProteinIQ's servers instead: pairwise comparison of two structures, searches of up to 2,500 uploaded structures, complex and interface search, reciprocal best hits, and clustering of monomers, complexes or interfaces. Foldseek was introduced by van Kempen et al. in Nature Biotechnology (2024).
The local program is the current Linux build distributed by the Foldseek authors, which is newer than the last tagged release (Release 10). The build checked in September 2026 reported source revision 463739e, and each run records the version of the executable that performed it. The public server does not report its engine version.
A Foldseek job costs at least 50 credits. The quote depends on the number of protein residues in the submitted PDB-format structures, added up across every structure in the job. The exact quote appears before submission and through the API.
| Database search, one structure | 100 residues | 300 residues | 500 residues | 1,000 residues | 2,000 residues | 3,000 residues |
|---|---|---|---|---|---|---|
| Credits | 50 | 90 | 122 | 184 | 335 | 783 |
| Local job | 100 residues each | 300 residues each |
|---|---|---|
| Pairwise comparison, 2 structures | 50 | 136 |
| Clustering, 3 structures | 90 | 173 |
| Clustering, 10 structures | 184 | 783 |
| Clustering, 50 structures | 1,450 | 2,802 |
| Clustering, 100 structures | 2,197 | 4,247 |
| Clustering, 500 structures | 5,770 | 11,154 |
Each cell is a quote from the current calculator for single-chain PDB files with the stated residue count. Local, complex, interface and reciprocal searches are priced the same way on the queries and targets together; one 300-residue query against ten 300-residue targets quotes 1,130 credits. Submitting several structures in database-search mode creates one search per structure, each quoted on its own.
The mode, database selection, alignment type, thresholds, native options and output format do not change the quote. Only the residues do.
| Input | Accepted formats | Limits and behavior |
|---|---|---|
Structure | .pdb, .ent, .cif, .mmcif, or an RCSB PDB entry | Files up to 50 MiB. Database search takes one structure, Compare two structures exactly two, and the clustering modes 3 to 2,500. |
| Gzip uploads | .pdb.gz, .ent.gz, .cif.gz, .mmcif.gz | Decompressed in the browser before submission; the same size and structure limits apply. API submissions send the uncompressed coordinates as UTF-8 or base64. |
Query and Target | The same coordinate formats in two separate inputs | Local, complex, interface and reciprocal searches need at least one query and one target, with at most 2,500 structures in total. |
Job name | Text | Optional label for the job history. |
The Free plan accepts up to 10 structures in the Structure or Query input per job; paid plans go up to the 2,500-structure limit. A structure count that does not fit the selected mode is refused before submission.
Complex modes align whole multichain assemblies chain to chain. Interface modes extract and compare the interfaces between chains with Foldseek's own interface definition, so a single-chain structure has nothing to search in those modes.
The selected Mode decides which settings appear. Blank optional fields keep the Foldseek default, except where a ProteinIQ preset for pairwise comparison or monomer clustering is noted.
| Parameter | Type | Default | Description |
|---|---|---|---|
Mode | enum | Search databases (AlphaFold, PDB) | Also Compare two structures, Cluster three or more structures, Search uploaded structures, Search protein complexes, Search protein interfaces, Reciprocal best hits, Cluster protein complexes and Cluster protein interfaces. |
| Databases | boolean | AlphaFold DB 50 and PDB on | Database search only. Switches for AlphaFold DB 50, PDB, AlphaFold Swiss-Prot, CATH 50, BFVD and AlphaFold Proteome. All off searches AlphaFold DB 50 and PDB. |
Alignment type | enum | 3Di + Sequence (recommended) | 3Di + Sequence (recommended), TMalign, 3Di or LoLalign. |
Iterative search | boolean | false | Database search only. Uses the server's iterative search, which repeats the search with a profile built from the first round of hits. |
Taxonomy filter | string | optional | Database search only. An NCBI taxonomy ID expression such as 9606 or !9606, applied to databases that carry taxonomy. |
E-value threshold | number | optional | Local modes, 0 to 10,000. Blank uses 10,000 for pairwise comparison, 0.001 for monomer clustering, and the Foldseek default elsewhere. |
Min sequence identity | number | optional | 0 to 1. Blank uses 0 for pairwise comparison and monomer clustering. |
TM-score threshold | number | optional | 0 to 1, normalized as set by TM threshold normalization. Blank uses 0 for pairwise comparison and monomer clustering. |
LDDT threshold | number | optional | 0 to 1. Blank uses 0 for pairwise comparison and monomer clustering; interface workflows keep their native 0.2. |
Coverage threshold | number | optional | Fraction of aligned residues, 0 to 1. Blank uses 0 for pairwise comparison and monomer clustering. An entered 0 is passed to Foldseek explicitly. |
Native result format | enum | Tabular alignments | Comparison and search modes. Tabular alignments, Interactive HTML, SAM alignments or Superposed C-alpha PDB files. |
The server chooses its own sensitivity and thresholds for database searches, so the threshold fields and native settings apply only to local modes.
These optional fields pass a value to the matching Foldseek option. Blank keeps the program default, and each field appears only in the modes that accept it.
| Parameter | Type | Default | Description |
|---|---|---|---|
Sensitivity | number | optional | -s, 1 to 9.5. Higher values make the prefilter more sensitive and slower. |
Prefilter results per query | integer | optional | --max-seqs, the number of candidates passed from the prefilter to alignment. |
Search iterations | integer | optional | --num-iterations. Not used by monomer clustering. |
Coverage normalization (0 to 5) | integer | optional | --cov-mode: 0 query and target, 1 target, 2 query, 3 target/query length, 4 query/target length, 5 shorter/longer length. |
Sequence identity normalization (0 to 2) | integer | optional | --seq-id-mode: 0 alignment length, 1 shorter sequence, 2 longer sequence. |
TM threshold normalization (0 to 2) | integer | optional | --tmscore-threshold-mode: 0 alignment, 1 query length, 2 target length. |
TMalign hit order (0 to 4) | integer | optional | --tmalign-hit-order: 0 mean, 1 query, 2 target, 3 minimum, 4 maximum of the query and target TM-scores. |
Prefilter mode (0 to 3) | integer | optional | --prefilter-mode: 0 k-mer and ungapped, 1 ungapped, 2 no filter, 3 ungapped and gapped. |
Exact TM-score (0 or 1) | integer | optional | --exact-tmscore, approximate or exact TM-score calculation. |
Fast TMalign (0 or 1) | integer | optional | --tmalign-fast. |
Exhaustive search (0 or 1) | integer | optional | --exhaustive-search; 1 skips the prefilter and aligns every pair. |
B-factor masking threshold | number | optional | --mask-bfactor-threshold, 0 to 100. Residues below the value are masked for seeding, useful for low-pLDDT regions in predictions. |
Low-complexity mask (0 or 1), Lowercase masking (0 or 1) | integer | optional | --mask and --mask-lower-case. |
Minimum alignment length | integer | optional | --min-aln-len. |
Alternative alignments | integer | optional | --alt-ali, extra alignments reported per target. |
Clustering algorithm (0 to 3) | integer | optional | --cluster-mode: 0 set cover, 1 connected components, 2 or 3 greedy clustering by length. |
Expand clustered targets (0 or 1) | integer | optional | --cluster-search. Uploaded target collections have no precomputed cluster members to expand. |
Multimer TM-score threshold, Chain TM-score threshold, Interface LDDT threshold | number | optional | --multimer-tm-threshold, --chain-tm-threshold and --interface-lddt-threshold for complex and interface modes, 0 to 1. |
Interface C-alpha distance (angstroms) | number | optional | --distance-threshold for interface modes. |
Minimum interface residues per chain | integer | optional | --min-interface-residues-perchain for interface modes. |
Native output columns | string | optional | Comma-separated --format-output columns for Tabular alignments, such as qaln, taln, cigar, lddtfull, rmsd, u, t, qcov and tcov. Complex columns need a complex or interface search. |
| Output | Contents |
|---|---|
Data | A table of hits, alignments or cluster assignments. Up to 500 rows are shown, with a notice when the full table is longer. |
Files | The full table as TSV and every native file: Foldseek's own results, command line, logs and, for database search, each server response and the complete result archive |
Database search writes the top 500 hits to foldseek_dbsearch.tsv and keeps every hit in the per-query server responses and the complete result archive, together with the database catalog and versions, the submitted options and the server ticket. A notice gives the actual hit count when it is above 500. Local modes write every row to foldseek_table.tsv alongside Foldseek's own result file. With Interactive HTML, SAM alignments or Superposed C-alpha PDB files, the Data tab lists the produced files instead of alignment rows.
For local modes, the 500-row limit affects only the table on screen; the downloaded TSV and native files hold every row, including long alignment strings that do not fit in the preview.
Database search and local modes return different columns, and the alignment type changes what some of them mean. Read the column header before comparing numbers between jobs.
| Column | Meaning |
|---|---|
Query, Query Entry | The query chain; a multichain upload is searched chain by chain |
Database, Target ID, Description | Where the hit came from, its accession and the first 100 characters of its description |
Probability | Foldseek's estimated probability that query and target are homologous, from 0 to 1 |
E-value | Expected number of hits at least this good by chance in the searched database; lower is more significant |
Identity % | Percentage of aligned positions with the same amino acid |
Align Length, Query Start, Query End | Length and position of the aligned region on the query |
Query Len, Target Len | Full chain lengths, for judging coverage |
Hits are sorted by Probability, highest first. The Foldseek documentation defines the probability against SCOPe superfamily membership, so a value near 1 means the hit almost certainly shares the query's evolutionary origin, not that the two structures superpose closely. With TMalign, the E-value column is replaced by TM-score (mean query/target) and hits are sorted by it.
The default table has Query, Target, Identity %, Alignment Length, Query Length, Target Length, Mismatches, Gap Opens, Q.Start, Q.End, T.Start, T.End, E-value, Bit Score, Alignment TM-score, LDDT, Probability, Query TM-score and Target TM-score. Complex and interface searches use a different default set: the columns up to Bit Score, then the complex assignment ID, complex TM-scores normalized by query and target, the rotation and translation that superpose the assemblies, and query and target complex coverage.
TM-score runs from 0 to 1. Unrelated structures score around 0.17, and values above 0.5 usually mean the same fold. The three TM-scores are different quantities: Query TM-score is normalized by the query length, Target TM-score by the target, and Alignment TM-score by the aligned length.
A small domain inside a large protein scores high on its own length and low on the large protein's, so the query-normalized value is the one to read when the question is whether your structure is contained in the target. Alignment-normalized values can exceed 1 because of how Foldseek normalizes them, and ProteinIQ reports them unchanged.
LDDT compares interatomic distances within each residue's neighborhood instead of superposing whole structures, so it rewards conserved local geometry even when domains have moved relative to each other. A high LDDT with a modest TM-score usually means the same domains in a different arrangement.
Identity % is reported from Foldseek's fractional identity as a percentage. Low identity with a high TM-score is the case Foldseek was built for: a structural relationship that sequence search misses.
With TMalign, the E-value column is renamed after the TM-score chosen by TMalign hit order, such as TM-score (mean query/target), and Bit Score becomes Query TM-score x 100 (integer). With LoLalign, Foldseek's documentation says the same two columns hold the normalized LoLscore and the homology probability times 10,000, although the headers keep their default names.
Clustering returns two columns, Representative and Member, one row per structure, and the summary counts the clusters. Every structure is a member of exactly one cluster, and a representative is listed as a member of its own cluster. Foldseek picks representatives during clustering, so a different Clustering algorithm, coverage or threshold can change both the cluster count and which structure stands for each cluster.
An E-value depends on the size of the database searched, so the same alignment scores differently against AlphaFold DB 50 and PDB. Compare probabilities or TM-scores between databases instead. AlphaFold DB 50 holds cluster representatives, so the hit may be a close relative of the protein you would recognize rather than that protein itself.
Hits to predicted structures inherit the confidence of the prediction. Before relying on a match to an AlphaFold model, check the target's pLDDT over the aligned region; a hit that falls in low-confidence regions is weak evidence however good its score.
Foldseek's speed comes from the 3Di alphabet, which encodes each residue of a structure as one of 20 letters. Unlike backbone structural alphabets, 3Di describes how each residue relates to its spatially nearest neighbor.
For each residue , Foldseek finds its nearest neighbor residue by virtual center distance. Seven angles, the distance and two sequence-distance features are taken from the backbones of both residues. These 10 features define the 20 3Di states through a neural network trained to maximize evolutionary conservation.
This encoding has three advantages over backbone alphabets: consecutive letters depend on each other less, the states are used more evenly, and the information is concentrated in conserved protein cores rather than in loops.
Foldseek converts query and target structures into 3Di sequences, then applies the MMseqs2 prefilter, which finds candidate matches from spaced k-mers on the same diagonal of the alignment matrix. The prefilter removes most of the search space while keeping sensitivity high. Hits that pass are aligned with Smith-Waterman local alignment, scoring 3Di and amino acid substitutions together, and the final alignment is used to calculate TM-score and LDDT.
In the original benchmark, this cut computation times by four to five orders of magnitude compared with Dali, TM-align and CE, while keeping 86%, 88% and 133% of their sensitivities.
The reference Foldseek server is search.foldseek.com, developed by the Steinegger and Söding labs. ProteinIQ is not affiliated with either lab. Its database searches are submitted to that server, and its local modes run the published Foldseek program on ProteinIQ's own servers.
The public server offers Foldseek search of monomers, Foldseek-Multimer search of complexes and Foldseek-Interface search, alongside FoldMason multiple alignment, Folddisco motif search and Riboseek RNA search. It accepts PDB or mmCIF input, aligns with 3Di/AA, TM-align or LoL-align, and offers iterative search, a taxonomic filter and a curl command for its API.
Its catalog on 23 October 2026 listed AlphaFold/UniProt50, Swiss-Prot and Proteome (v6), PDB100 (20240101), CATH50 (4.3.0), BFVD v3 (2025_03), MGnify-ESM30, GMGCL, BFMD and AF3 RNA, plus interface collections and Folddisco motif indexes. Its pages do not publish a query size limit or how long results are kept.
ProteinIQ's database search covers six of those databases: AlphaFold DB 50 (AlphaFold/UniProt50), PDB (PDB100), AlphaFold Swiss-Prot, CATH 50, BFVD (v3) and AlphaFold Proteome. Each job checks the server's catalog first and stops if a selected database is not available, rather than searching a different one. A search that the server has not finished within ten minutes ends with a timeout.
What ProteinIQ adds is mostly the local side. The public server searches its own databases; it does not compare two of your structures, search one uploaded set against another, or cluster your structures. ProteinIQ runs them as pairwise comparison, local, complex, interface and reciprocal-best-hit search, and monomer, complex and interface clustering on up to 2,500 structures, with the native thresholds and output formats in the settings above.
Every job stays in the workspace's job history with its inputs, settings and files, and database searches also keep the server's responses. Jobs can be run as a step in a workflow, and ProteinIQ charges credits for them as listed under pricing; the public server is free to use.
Workspaces on a paid plan can run the Foldseek server from scripts, notebooks and pipeline services through the ProteinIQ API. Start with GET /api/v1/tools/foldseek to retrieve the current input contract, modes, settings and credit model, which keeps integrations aligned when inputs or limits change.
Submit PDB or mmCIF structures in input.inputs[] and set mode to one of database_search, pairwise, cluster, local_search, multimer_search, interface_search, reciprocal_search, multimer_cluster or interface_cluster. Searches against your own targets use the structures and targets slots. Request a quote with POST /api/v1/jobs/quote or create a job with POST /api/v1/jobs, then poll the job status or events before retrieving results and signed downloads. API tools documents tool contracts, and API jobs covers quoting, submission, status and results.
Foldseek needs atomic coordinates. For a sequence without a structure, predict one first with ESMFold or fetch the model from the AlphaFold Database, then search with it. For sequence-level search or clustering, MMseqs2 is faster and needs no structures.
3Di describes local backbone geometry, so very flexible regions, disordered termini and short structures below about 30 residues produce weak or unstable scores. Mask low-confidence regions of predicted models with B-factor masking threshold, or trim them before submitting. Clustering is greedy, and its result depends on which structures become representatives.
For a full superposition of two structures with RMSD and per-residue alignment, US-align is the better tool once Foldseek has found the pair. Structural hits feed protein structure search, fold recognition and template selection for homology modeling.
Universal structure alignment for proteins, RNA, and DNA molecules
Number antibody and T cell receptor sequences with multiple numbering schemes
Analyze antibody and T cell receptor variable domain sequences
Align protein or nucleotide sequences with selectable accuracy and speed trade-offs.
Align multiple protein or nucleotide sequences with high-accuracy PPP refinement.
Hardware-accelerated edit distances and global or local sequence scores
Align and compare whole genomes to detect SNPs, indels, and structural variants.
Find protein sequence matches in Swiss-Prot and PDB.
Align multiple protein or nucleotide sequences and export FASTA, Clustal, or Phylip outputs.
Build phylogenetic trees from aligned protein or nucleotide sequences using approximate maximum-likelihood methods.