mcpField
F
foldseek

foldseek

github.com/adaptyvbioOther17238 installsUpdated 20w ago
Repository

About foldseek

Foldseek searches protein structures against structural databases, locally or through its web server, without requiring a GPU. It serves researchers checking structural similarity, novelty, or candidate scaffolds.

Key features

  1. 01Search structures against local databases
  2. 02Use the Foldseek web server
  3. 03Support PDB, AlphaFold DB, and other databases
  4. 04Export tabular search results

Use cases

  1. 01Compare a protein design with PDB structures
  2. 02Check a design against AlphaFold DB for similarity
  3. 03Find scaffolds for motif grafting

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/adaptyvbio/protein-design-skills --skill foldseek

After installing, type/foldseekin Claude Code to confirm it loaded.

Details

From the project README

Foldseek Structure Search

Prerequisites

RequirementMinimumRecommended
Python3.8+3.10
RAM8GB16GB
Disk10GB50GB (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 "[email protected]" \
  -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

ParameterDefaultDescription
--min-seq-id0.0Minimum sequence identity
-e0.001E-value threshold
--alignment-type20=3Di, 1=TM, 2=3Di+AA
--max-seqs1000Max hits to pass through prefilter; reducing this affects sensitivity

Databases

DatabaseDescriptionSize
pdb100PDB chains~340K structures
afdb50AlphaFold DB clustered at 50% sequence identity~53M structures
swissprotSwissProt structures~540K structures
cath50CATH 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/
# results.m8 columns: query target pident alnlen mismatch gapopen qstart qend tstart tend evalue bits
query   1abc_A  85.2  120  ...  1e-45  180.5
query   2def_B  72.1  115  ...  1e-32  145.2

Hit identities and E-values above are placeholders; foldseek does not print the [INFO] lines shown by some other tools.

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
ErrorCauseFix
Database not foundWrong pathCheck database location
Invalid PDBMalformed structureValidate PDB format
Out of memoryLarge databaseUse more RAM or web server

Next: Download hits with pdb skill → use for scaffold design.

Comments

Markdown supported