Foldseek Structure Similarity Search
SkillDev toolsA skill for dev tools by lamm-mit.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Foldseek Structure Similarity Search skill
What this skill tells your AI
The instructions your AI receives, as published by lamm-mit/scienceclaw in skills/foldseek/SKILL.md and read by ahel’s review.
Ultra-fast protein structure similarity search. Finds structural homologs in PDB, AlphaFold Database, and custom databases orders of magnitude faster than DALI or TM-align.
Installation
# Conda (recommended)
conda install -c conda-forge -c bioconda foldseek
# Binary download
wget https://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz
tar xvzf foldseek-linux-avx2.tar.gz
export PATH=$(pwd)/foldseek/bin:$PATH
# Docker
docker pull ghcr.io/steineggerlab/foldseek
Download Databases
# PDB (experimentally determined structures, ~200K)
foldseek databases PDB pdb_db tmp/
# AlphaFold Database (200M+ predicted structures)
foldseek databases Alphafold/UniProt afdb_db tmp/
# AlphaFold SwissProt (high-confidence subset, ~500K)
foldseek databases Alphafold/UniProt50 afdb_swissprot tmp/
# ESMAtlas (300M+ structures from ESMFold)
foldseek databases ESMAtlas esmatlas_db tmp/
Basic Search
# Search query structure against PDB
foldseek easy-search query.pdb pdb_db results.tsv tmp/ \
--format-output "query,target,pident,alnlen,evalue,bits,prob,lddt,lddtfull,taxid,taxname,qlen,tlen,nident"
# Against AlphaFold database
foldseek easy-search query.pdb afdb_db results.tsv tmp/ \
--exhaustive-search 1 \
--format-output "query,target,pident,evalue,bits,prob,alntmscore,taxname"
Python API
import subprocess
import pandas as pd
def foldseek_search(query_pdb: str, database: str, tmp_dir: str = "tmp/",
e_value: float = 1e-3, max_hits: int = 100) -> pd.DataFrame:
"""Run Foldseek and return results as DataFrame."""
out_tsv = "foldseek_results.tsv"
cols = "query,target,pident,alnlen,evalue,bits,prob,alntmscore,taxname"
cmd = [
"foldseek", "easy-search",
query_pdb, database, out_tsv, tmp_dir,
"-e", str(e_value),
"--max-seqs", str(max_hits),
"--format-output", cols
]
subprocess.run(cmd, check=True)
df = pd.read_csv(out_tsv, sep="\t", names=cols.split(","))
return df.sort_values("alntmscore", ascending=False)
# Usage
results = foldseek_search("designed_binder.pdb", "pdb_db")
print(results[["target", "pident", "alntmscore", "evalue", "taxname"]].head(20))
Key Output Fields
| Field | Description | Threshold |
|---|---|---|
alntmscore | TM-score of alignment (0–1) | >0.5 = same fold |
pident | Sequence identity (%) | varies |
prob | Probability of homology (0–1) | >0.5 = likely homolog |
evalue | E-value | <0.001 = significant |
lddt | Local distance difference test | >0.7 = good local similarity |
taxname | Source organism | — |
Multi-Query / Batch Search
# Create query database from multiple PDB files
foldseek createdb query_structures/ query_db
# Search all vs. PDB
foldseek search query_db pdb_db result_db tmp/ -e 1e-3
foldseek convertalis query_db pdb_db result_db results.tsv \
--format-output "query,target,alntmscore,evalue,taxname"
Use Cases
Check Design Novelty
results = foldseek_search("new_design.pdb", "pdb_db")
top = results[results["alntmscore"] > 0.5]
if len(top) == 0:
print("Novel fold — no PDB structural homologs found")
else:
print(f"Similar to known structures:")
print(top[["target", "alntmscore", "pident"]].head(5))
Find Templates for Homology Modeling
results = foldseek_search("target.pdb", "pdb_db", e_value=0.01)
templates = results[
(results["alntmscore"] > 0.6) &
(results["pident"] > 30) # Enough sequence identity for modeling
]
Cluster Designs by Structure
# All-vs-all structural comparison
foldseek createdb designs/ designs_db
foldseek search designs_db designs_db result_db tmp/ \
--alignment-type 1 -e 1e-3
foldseek cluster designs_db cluster_db tmp/ \
--min-seq-id 0 -c 0.8 # 80% TM-score threshold
Foldseek vs TM-align vs DALI
| Tool | Speed (10K vs PDB) | Accuracy |
|---|---|---|
| Foldseek | ~1 min | ~95% of TM-align |
| TM-align | ~20 hours | Reference |
| DALI | ~48 hours | Reference |
Signals
- GitHub stars
- 242
- Forks
- 42
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
foldseek-lamm-mit- Source
- github.com/lamm-mit/scienceclaw