OpenClaw-Medical-Skills bindcraft

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/bindcraft" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-bindcraft && 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/bindcraft" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-bindcraft && rm -rf "$T"
manifest: skills/bindcraft/SKILL.md
safety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
  • pip install
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content

BindCraft Binder Design

Prerequisites

RequirementMinimumRecommended
Python3.9+3.10
CUDA11.7+12.0+
GPU VRAM32GB48GB (L40S)
RAM32GB64GB

How to run

First time? See Installation Guide to set up Modal and biomodals.

Option 1: Modal (recommended)

cd biomodals
modal run modal_bindcraft.py \
  --target-pdb target.pdb \
  --target-chain A \
  --binder-lengths 70-100 \
  --hotspots "A45,A67,A89" \
  --num-designs 50

GPU: L40S (48GB) | Timeout: 3600s default

Option 2: Local installation

git clone https://github.com/martinpacesa/BindCraft.git
cd BindCraft
pip install -r requirements.txt

python bindcraft.py \
  --target target.pdb \
  --target_chains A \
  --binder_lengths 70-100 \
  --hotspots A45,A67,A89 \
  --num_designs 50

Key parameters

ParameterDefaultRangeDescription
--target-pdb
requiredpathTarget structure
--target-chain
requiredA-ZTarget chain(s)
--binder-lengths
70-10040-150Length range
--hotspots
NoneresiduesTarget hotspots
--num-designs
501-500Number of designs
--protocol
defaultfast/default/slowQuality vs speed

Protocols

ProtocolSpeedQualityUse Case
fastFastLowerInitial screening
defaultMediumGoodStandard campaigns
slowSlowHighFinal production

Output format

output/
├── design_0/
│   ├── binder.pdb         # Final design
│   ├── complex.pdb        # Binder + target
│   ├── metrics.json       # QC scores
│   └── trajectory/        # Optimization trajectory
├── design_1/
│   └── ...
└── summary.csv            # All metrics

Metrics Output

{
  "plddt": 0.89,
  "ptm": 0.78,
  "iptm": 0.62,
  "pae": 8.5,
  "rmsd": 1.2,
  "sequence": "MKTAYIAK..."
}

Sample output

Successful run

$ modal run modal_bindcraft.py --target-pdb target.pdb --num-designs 50
[INFO] Loading BindCraft model...
[INFO] Target: target.pdb (chain A)
[INFO] Hotspots: A45, A67, A89
[INFO] Protocol: default
[INFO] Generating 50 designs...

Design 1/50:
  Length: 78 AA
  pLDDT: 0.89, ipTM: 0.62
  Saved: output/design_0/

Design 50/50:
  Length: 85 AA
  pLDDT: 0.86, ipTM: 0.58
  Saved: output/design_49/

[INFO] Campaign complete. Summary: output/summary.csv
Pass rate: 32/50 (64%) with ipTM > 0.5

What good output looks like:

  • pLDDT: > 0.85 for most designs
  • ipTM: > 0.5 for passing designs
  • Pass rate: 30-70% depending on target
  • Diverse sequences across designs

Decision tree

Should I use BindCraft?
│
├─ What type of design?
│  ├─ Production-quality binders → BindCraft ✓
│  ├─ High diversity exploration → RFdiffusion
│  └─ All-atom precision → BoltzGen
│
├─ What matters most?
│  ├─ Experimental success rate → BindCraft ✓
│  ├─ Speed / diversity → RFdiffusion + ProteinMPNN
│  ├─ AF2 gradient optimization → ColabDesign
│  └─ All-atom control → BoltzGen
│
└─ Compute resources?
   ├─ Have L40S/A100 → BindCraft ✓
   └─ Only A10G → RFdiffusion + ProteinMPNN

Typical performance

Campaign SizeTime (L40S)Cost (Modal)Notes
50 designs2-4h~$15Quick campaign
100 designs4-8h~$30Standard
200 designs8-16h~$60Large campaign

Expected pass rate: 30-70% with ipTM > 0.5 (target-dependent).


Verify

find output -name "binder.pdb" | wc -l  # Should match num_designs

Troubleshooting

Low ipTM scores: Check hotspot selection, increase designs Slow convergence: Use fast protocol for screening OOM errors: Reduce num_models, use L40S GPU Poor diversity: Lower sampling_temp, run multiple seeds

Error interpretation

ErrorCauseFix
RuntimeError: CUDA out of memory
Large target or long binderUse L40S/A100, reduce binder length
ValueError: no hotspots
Hotspots not foundCheck residue numbering
TimeoutError
Design taking too longUse fast protocol

Next: Rank by

ipsae
→ experimental validation.