Agent skill
foldseek
Structure similarity search with Foldseek. Use this skill when: (1) Finding similar structures in PDB/AFDB databases, (2) Structural homology search, (3) Database queries by 3D structure, (4) Finding remote homologs not detected by sequence, (5) Clustering structures by similarity. For sequence similarity, use uniprot BLAST. For structure prediction, use chai or boltz.
Install this agent skill to your Project
npx add-skill https://github.com/adaptyvbio/protein-design-skills/tree/main/skills/foldseek
SKILL.md
Foldseek Structure Search
Prerequisites
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.8+ | 3.10 |
| RAM | 8GB | 16GB |
| Disk | 10GB | 50GB (for local databases) |
How to run
Note: Foldseek can run locally or via web server. No GPU required.
Option 1: Web Server (Quick; rate-limited, use sparingly)
# Upload structure to web server
curl -X POST "https://search.foldseek.com/api/ticket" \
-F "q=@query.pdb" \
-F "database[]=afdb50" \
-F "database[]=pdb100"
Option 2: Local installation
# Install Foldseek
conda install -c conda-forge -c bioconda foldseek
# Search PDB
foldseek easy-search query.pdb /path/to/pdb100 results.m8 tmp/
# Search AlphaFold DB
foldseek easy-search query.pdb /path/to/afdb50 results.m8 tmp/
Option 3: Python API
import subprocess
import pandas as pd
def foldseek_search(query_pdb, database, output="results.m8"):
"""Run Foldseek search."""
subprocess.run([
"foldseek", "easy-search",
query_pdb, database, output, "tmp/",
"--format-output", "query,target,pident,alnlen,evalue,bits"
])
return pd.read_csv(output, sep="\t",
names=["query", "target", "pident", "alnlen", "evalue", "bits"])
Key parameters
| Parameter | Default | Description |
|---|---|---|
--min-seq-id |
0.0 | Minimum sequence identity |
-e |
0.001 | E-value threshold |
--alignment-type |
2 | 0=3Di, 1=TM, 2=3Di+AA |
--max-seqs |
300 | Max hits to pass through prefilter; reducing this affects sensitivity |
Databases
| Database | Description | Size |
|---|---|---|
pdb100 |
PDB clustered at 100% | ~200K structures |
afdb50 |
AlphaFold DB at 50% | ~67M structures |
swissprot |
SwissProt structures | ~500K structures |
cath50 |
CATH domains | ~50K domains |
Output format
# results.m8 (tabular)
query target pident alnlen evalue bits
query 1abc_A 85.2 120 1e-45 180.5
query 2def_B 72.1 115 1e-32 145.2
Sample output
Successful run
$ foldseek easy-search query.pdb pdb100 results.m8 tmp/
[INFO] Loading database: pdb100 (194,527 entries)
[INFO] Searching...
[INFO] Found 127 hits
Top 5 hits:
1. 1abc_A - 85.2% identity, E=1e-45
2. 2def_B - 72.1% identity, E=1e-32
3. 3ghi_C - 68.5% identity, E=1e-28
4. 4jkl_A - 55.3% identity, E=1e-18
5. 5mno_B - 42.1% identity, E=1e-10
Decision tree
Should I use Foldseek?
│
├─ What are you searching?
│ ├─ By 3D structure → Foldseek ✓
│ ├─ By sequence → Use BLAST (uniprot skill)
│ └─ Both → Run both, compare results
│
└─ What do you need?
├─ Find structural homologs → Foldseek ✓
├─ Remote homolog detection → Foldseek ✓
├─ Structural clustering → Foldseek ✓
└─ Functional annotation → Cross-reference with UniProt
Common use cases
Find similar designs
# Compare your design to PDB
foldseek easy-search design.pdb pdb100 similar_natural.m8 tmp/
Novelty check
# Ensure design is novel (low similarity to known)
foldseek easy-search design.pdb afdb50 novelty.m8 tmp/
# Novel if: top hit identity < 30%
Scaffold search
# Find scaffolds for motif grafting
foldseek easy-search motif.pdb pdb100 scaffolds.m8 tmp/ \
--min-seq-id 0.0 -e 10
Verify
wc -l results.m8 # Number of hits
Troubleshooting
No hits: Lower e-value threshold, try larger database Too many hits: Increase min-seq-id threshold Slow search: Use smaller database
Error interpretation
| Error | Cause | Fix |
|---|---|---|
Database not found |
Wrong path | Check database location |
Invalid PDB |
Malformed structure | Validate PDB format |
Out of memory |
Large database | Use more RAM or web server |
Next: Download hits with pdb skill → use for scaffold design.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
proteinmpnn
Design protein sequences using ProteinMPNN inverse folding. Use this skill when: (1) Designing sequences for RFdiffusion backbones, (2) Redesigning existing protein sequences, (3) Fixing specific residues while designing others, (4) Optimizing sequences for expression or stability, (5) Multi-state or negative design. For backbone generation, use rfdiffusion or bindcraft. For ligand-aware design, use ligandmpnn. For solubility optimization, use solublempnn.
campaign-manager
Goal-oriented binder design campaign planning and health assessment. Use this skill when: (1) Planning a complete binder design campaign, (2) Converting high-level goals into runnable pipelines, (3) Assessing campaign health and pass rates, (4) Diagnosing why designs are failing QC, (5) Estimating time, cost, and expected yields, (6) Selecting between design tools for a specific target. This skill orchestrates the other protein design tools. For individual tool parameters, use the specific tool skills.
esm
ESM2 protein language model for embeddings and sequence scoring. Use this skill when: (1) Computing pseudo-log-likelihood (PLL) scores, (2) Getting protein embeddings for clustering, (3) Filtering designs by sequence plausibility, (4) Zero-shot variant effect prediction, (5) Analyzing sequence-function relationships. For structure prediction, use chai or boltz. For QC thresholds, use protein-qc.
binding-characterization
Guidance for SPR and BLI binding characterization experiments. Use when: (1) Planning binding kinetics experiments, (2) Troubleshooting poor/no binding signal, (3) Interpreting kinetic data artifacts, (4) Choosing between SPR vs BLI platforms.
cell-free-expression
Guidance for cell-free protein synthesis (CFPS) optimization. Use when: (1) Planning CFPS experiments, (2) Troubleshooting low yield or aggregation, (3) Optimizing DNA template design for CFPS, (4) Expressing difficult proteins (disulfide-rich, toxic, membrane).
ligandmpnn
Ligand-aware protein sequence design using LigandMPNN. Use this skill when: (1) Designing sequences around small molecules, (2) Enzyme active site design, (3) Ligand binding pocket optimization, (4) Metal coordination site design, (5) Cofactor binding proteins. For standard protein design, use proteinmpnn. For solubility optimization, use solublempnn.
Didn't find tool you were looking for?