bindcraft — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bindcraft (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.9+ | 3.10 |
| CUDA | 11.7+ | 12.0+ |
| GPU VRAM | 32GB | 48GB (L40S) |
| RAM | 32GB | 64GB |
First time? See Getting started to set up Modal and biomodals.
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 50GPU: L40S (48GB) | Timeout: 300 min default
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.jsonThe target PDB, chains, hotspots, and binder length range are set inside the --settings JSON. See the BindCraft repo for the settings schema.
| 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/
├── design_0/
│ ├── binder.pdb # Final design
│ ├── complex.pdb # Binder + target
│ ├── metrics.json # QC scores
│ └── trajectory/ # Optimization trajectory
├── design_1/
│ └── ...
└── summary.csv # All metrics{
"plddt": 0.89,
"ptm": 0.78,
"iptm": 0.62,
"pae": 8.5,
"rmsd": 1.2,
"sequence": "MKTAYIAK..."
}$ 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.5What good output looks like:
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| 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.
find output -name "binder.pdb" | wc -l # Should match num_designsLow 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 | 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.