Back to skills
SKILL.md
Bindcraft
ASecurity"End-to-end binder design using BindCraft hallucination. Use this skill when: (1) Designing protein binders with built-in AF2 validation, (2) Running production-quality binder campaigns, (3) Using different design protocols (fast, default, slow), (4) Need joint backbone and sequence optimization, (5) Want high experimental success rate.
- 13 stars
- 0 votes
- 0 copies
- 3 views
- Added September 5, 2026
Security analysis
100/100Pro scans all 3 files and shows the line behind each finding
npx -y skills add FridrichMethod/awesome-skills --skill bindcraft --agent claude-codeAre you the author of Bindcraft?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/fridrichmethod-bindcraft)---
name: bindcraft
description: "End-to-end binder design using BindCraft hallucination. Use this skill when: (1) Designing protein binders with built-in AF2 validation, (2) Running production-quality binder campaigns, (3) Using different design protocols (fast, default, slow), (4) Need joint backbone and sequence optimization, (5) Want high experimental success rate.
For backbone-only generation, use rfdiffusion. For QC thresholds, use protein-qc. For tool selection guidance, use binder-design."
license: MIT
category: design-tools
tags: [structure-design, sequence-design, binder, pipeline]
proteinbase_slug: bindcraft
proteinbase_url: https://proteinbase.com/design-methods/bindcraft
biomodals_script: modal_bindcraft.py
---
# BindCraft Binder Design
## Prerequisites
| Requirement | Minimum | Recommended |
|-------------|---------|-------------|
| Python | 3.9+ | 3.10 |
| CUDA | 11.7+ | 12.0+ |
| GPU VRAM | 32GB | 48GB (L40S) |
| RAM | 32GB | 64GB |
## How to run
> **First time?** See [Getting started](../../docs/getting-started.md) to set up Modal and biomodals.
### Option 1: Modal (recommended)
```bash
cd biomodals
modal run modal_bindcraft.py \
--input-pdb target.pdb \
--target-chains A \
--target-hotspot-residues "45,67,89" \
--lengths "70,100" \
--number-of-final-designs 50
```
**GPU**: L40S (48GB) | **Timeout**: 300 min default
### Option 2: Local installation
```bash
git clone https://github.com/martinpacesa/BindCraft.git
cd BindCraft
# BindCraft is configured with JSON files, not flags
python -u ./bindcraft.py \
--settings ./settings_target/mytarget.json \
--filters ./settings_filters/default_filters.json \
--advanced ./settings_advanced/default_4stage_multimer.json
```
The target PDB, chains, hotspots, and binder length range are set inside the
`--settings` JSON. See the BindCraft repo for the settings schema.
## Key parameters (Modal wrapper)
| Parameter | Default | Description |
|-----------|---------|-------------|
| `--input-pdb` | required | Target structure |
| `--target-chains` | `A` | Target chain(s) |
| `--target-hotspot-residues` | "" | Target hotspots (e.g. "45,67,89") |
| `--lengths` | `50,130` | Binder length range |
| `--number-of-final-designs` | 1 | Passing designs to return |
| `--max-trajectories` | none | Cap on trajectories |
## 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
```json
{
"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 --input-pdb target.pdb --target-chains A --target-hotspot-residues "45,67,89" --number-of-final-designs 50
[INFO] Loading BindCraft model...
[INFO] Target: target.pdb (chain A)
[INFO] Hotspots: 45, 67, 89
[INFO] Generating 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 Size | Time (L40S) | Cost (Modal) | Notes |
|---------------|-------------|--------------|-------|
| 50 designs | 2-4h | ~$15 | Quick campaign |
| 100 designs | 4-8h | ~$30 | Standard |
| 200 designs | 8-16h | ~$60 | Large campaign |
Adaptyv's own tests of these models showed BindCraft costing about $2.90 per accepted
design, averaged across 7 targets.
**Experimental success rate** (BindCraft paper): 10 to 100%, averaging 46.3% across 12
targets; strongly target-dependent.
---
## Verify
```bash
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
| Error | Cause | Fix |
|-------|-------|-----|
| `RuntimeError: CUDA out of memory` | Large target or long binder | Use L40S/A100, reduce binder length |
| `ValueError: no hotspots` | Hotspots not found | Check residue numbering |
| `TimeoutError` | Design taking too long | Use fast protocol |
---
**Next**: Rank by `ipsae` → experimental validation.
Files in this skill
- SKILL.md
- references/protocols.md
- references/troubleshooting.md
Attribution
Comments
Loading comments…