OpenClaw-Medical-Skills foldseek
install
source · Clone the upstream repo
git clone https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/foldseek" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-foldseek && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/foldseek" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-foldseek && rm -rf "$T"
manifest:
skills/foldseek/SKILL.mdsafety · automated scan (medium risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- shell exec via library
- makes HTTP requests (curl)
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
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 |
|---|---|---|
| 0.0 | Minimum sequence identity |
| 0.001 | E-value threshold |
| 2 | 0=3Di, 1=TM, 2=3Di+AA |
| 300 | Max hits to pass through prefilter; reducing this affects sensitivity |
Databases
| Database | Description | Size |
|---|---|---|
| PDB clustered at 100% | ~200K structures |
| AlphaFold DB at 50% | ~67M structures |
| SwissProt structures | ~500K structures |
| 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 |
|---|---|---|
| Wrong path | Check database location |
| Malformed structure | Validate PDB format |
| Large database | Use more RAM or web server |
Next: Download hits with
pdb skill → use for scaffold design.