Binder Design Tool Selection
SkillMediaA skill for media by lamm-mit.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Binder Design Tool Selection skill
What this skill tells your AI
The instructions your AI receives, as published by lamm-mit/scienceclaw in skills/binder-design/SKILL.md and read by ahel’s review.
Decision framework for choosing between BoltzGen, RFdiffusion, BindCraft, and other tools for protein binder design campaigns.
Decision Tree
What do you need?
│
├── All-atom output with side-chain awareness?
│ └── YES → BoltzGen (recommended default)
│
├── Backbone-only + sequence design separately?
│ └── YES → RFdiffusion → ProteinMPNN/LigandMPNN
│
├── End-to-end with built-in AF2 validation per design?
│ └── YES → BindCraft (slower but higher hit rate)
│
├── Ligand/small molecule in binding site?
│ └── YES → BoltzGen or RFdiffusion + LigandMPNN
│
├── Peptide binder (< 30 residues)?
│ └── YES → BoltzGen (peptide-anything protocol)
│
├── Symmetric oligomer scaffold?
│ └── YES → RFdiffusion (symmetry support)
│
└── Very large target (> 500 residues)?
└── YES → RFdiffusion (better memory efficiency)
Tool Comparison
| Feature | BoltzGen | RFdiffusion | BindCraft |
|---|---|---|---|
| Side chains | Joint design | Backbone only | Joint (via AF2 hallucination) |
| Speed (50 designs) | ~2h A100 | ~30 min | ~8h A100 |
| Hit rate (exp. binding) | ~15–25% | ~10–20% | ~25–40% |
| Built-in validation | ipTM from diffusion | None | AF2 ipTM per design |
| Ligand-aware | ✓ | Limited | ✗ |
| Symmetric designs | ✗ | ✓ | ✗ |
| Ease of use | YAML config | CLI flags | Config JSON |
| GPU VRAM | 24 GB | 16 GB | 32 GB |
Campaign Scale Guide
| Goal | Recommended Tool | Designs to Generate | Expected Binders to Order |
|---|---|---|---|
| Proof of concept | BoltzGen | 50–100 | 5–10 |
| Standard campaign | RFdiffusion + MPNN | 200–500 | 10–20 |
| High-quality hits | BindCraft | 100–200 | 5–15 |
| Ligand-binding enzyme | RFdiffusion + LigandMPNN | 200–1000 | 10–20 |
| Rapid screen | BoltzGen | 100 | 10 |
Pipeline Templates
Standard Binder Campaign
# 1. Generate backbones
python3 RFdiffusion/scripts/run_inference.py \
inference.output_prefix=designs/binder \
inference.input_pdb=target.pdb \
'ppi.hotspot_res=[A45,A67,A102]' \
'contigmap.contigs=[A1-200/0 60-100]' \
inference.num_designs=200
# 2. Design sequences
python3 LigandMPNN/run.py \
--model_type proteinmpnn \
--pdb_path designs/ \
--out_folder seqs/ \
--number_of_batches 8
# 3. Predict structures (ColabFold batch)
colabfold_batch seqs/all_sequences.fasta predictions/ \
--model-type alphafold2_multimer_v3 \
--num-recycles 3 \
--num-models 1
# 4. Rank by ipSAE
ipsae rank predictions/ --chain-lengths 200 80 --output rankings.csv
BoltzGen All-in-One
# binder.yaml
version: 1
sequences:
- protein:
id: A
sequence: MTEYKLVVVGAGGVGKS... # target
- protein:
id: B
length: 80
design: true
constraints:
hotspots:
- chain: A
residue: [45, 67, 102]
boltzgen design binder.yaml --out_dir designs/ --num_designs 100
BindCraft High-Quality
{
"target_pdb": "target.pdb",
"hotspot_residues": "A45,A67,A102",
"binder_length": [60, 100],
"num_designs": 100,
"protocol": "default",
"af2_validation": true,
"output_dir": "bindcraft_out/"
}
python3 bindcraft.py --config binder_config.json
Hotspot Identification
from Bio.PDB import PDBParser
import numpy as np
def identify_hotspots(pdb_path: str, chain: str = "A",
binding_site_center: tuple = None,
radius: float = 10.0) -> list:
"""Find surface residues near a binding site for hotspot specification."""
parser = PDBParser(QUIET=True)
structure = parser.get_structure("target", pdb_path)
model = structure[0]
hotspots = []
for residue in model[chain]:
if residue.id[0] != " ": # Skip HET
continue
# Use CA atom as representative
if "CA" not in residue:
continue
ca = residue["CA"].get_vector()
if binding_site_center:
center = np.array(binding_site_center)
dist = np.linalg.norm(ca.get_array() - center)
if dist < radius:
hotspots.append(f"{chain}{residue.id[1]}")
return hotspots
Avoiding Common Failures
| Problem | Prevention |
|---|---|
| Designs don't contact hotspots | Verify hotspot accessibility; reduce binder length range |
| All designs converge to same solution | Use partial diffusion for diversity; vary hotspot sets |
| Poor AF2 validation scores | Use BindCraft (built-in AF2 during design) |
| Low expression yield | Switch to SolubleMPNN; check GRAVY/instability |
| Target flexibility issues | Use ensemble of target conformations |
Signals
- GitHub stars
- 242
- Forks
- 42
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
binder-design-lamm-mit- Source
- github.com/lamm-mit/scienceclaw