{"id":"6d4de564-668e-4c7c-9ab9-a268e769d24b","shortId":"D94xPV","kind":"skill","title":"bindcraft","tagline":"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 sequen","description":"# BindCraft Binder Design\n\n## Prerequisites\n\n| Requirement | Minimum | Recommended |\n|-------------|---------|-------------|\n| Python | 3.9+ | 3.10 |\n| CUDA | 11.7+ | 12.0+ |\n| GPU VRAM | 32GB | 48GB (L40S) |\n| RAM | 32GB | 64GB |\n\n## How to run\n\n> **First time?** See [Installation Guide](../../docs/installation.md) to set up Modal and biomodals.\n\n### Option 1: Modal (recommended)\n```bash\ncd biomodals\nmodal run modal_bindcraft.py \\\n  --target-pdb target.pdb \\\n  --target-chain A \\\n  --binder-lengths 70-100 \\\n  --hotspots \"A45,A67,A89\" \\\n  --num-designs 50\n```\n\n**GPU**: L40S (48GB) | **Timeout**: 3600s default\n\n### Option 2: Local installation\n```bash\ngit clone https://github.com/martinpacesa/BindCraft.git\ncd BindCraft\npip install -r requirements.txt\n\npython bindcraft.py \\\n  --target target.pdb \\\n  --target_chains A \\\n  --binder_lengths 70-100 \\\n  --hotspots A45,A67,A89 \\\n  --num_designs 50\n```\n\n## Key parameters\n\n| Parameter | Default | Range | Description |\n|-----------|---------|-------|-------------|\n| `--target-pdb` | required | path | Target structure |\n| `--target-chain` | required | A-Z | Target chain(s) |\n| `--binder-lengths` | 70-100 | 40-150 | Length range |\n| `--hotspots` | None | residues | Target hotspots |\n| `--num-designs` | 50 | 1-500 | Number of designs |\n| `--protocol` | default | fast/default/slow | Quality vs speed |\n\n## Protocols\n\n| Protocol | Speed | Quality | Use Case |\n|----------|-------|---------|----------|\n| fast | Fast | Lower | Initial screening |\n| default | Medium | Good | Standard campaigns |\n| slow | Slow | High | Final production |\n\n## Output format\n\n```\noutput/\n├── design_0/\n│   ├── binder.pdb         # Final design\n│   ├── complex.pdb        # Binder + target\n│   ├── metrics.json       # QC scores\n│   └── trajectory/        # Optimization trajectory\n├── design_1/\n│   └── ...\n└── summary.csv            # All metrics\n```\n\n### Metrics Output\n```json\n{\n  \"plddt\": 0.89,\n  \"ptm\": 0.78,\n  \"iptm\": 0.62,\n  \"pae\": 8.5,\n  \"rmsd\": 1.2,\n  \"sequence\": \"MKTAYIAK...\"\n}\n```\n\n## Sample output\n\n### Successful run\n```\n$ modal run modal_bindcraft.py --target-pdb target.pdb --num-designs 50\n[INFO] Loading BindCraft model...\n[INFO] Target: target.pdb (chain A)\n[INFO] Hotspots: A45, A67, A89\n[INFO] Protocol: default\n[INFO] Generating 50 designs...\n\nDesign 1/50:\n  Length: 78 AA\n  pLDDT: 0.89, ipTM: 0.62\n  Saved: output/design_0/\n\nDesign 50/50:\n  Length: 85 AA\n  pLDDT: 0.86, ipTM: 0.58\n  Saved: output/design_49/\n\n[INFO] Campaign complete. Summary: output/summary.csv\nPass rate: 32/50 (64%) with ipTM > 0.5\n```\n\n**What good output looks like:**\n- pLDDT: > 0.85 for most designs\n- ipTM: > 0.5 for passing designs\n- Pass rate: 30-70% depending on target\n- Diverse sequences across designs\n\n## Decision tree\n\n```\nShould I use BindCraft?\n│\n├─ What type of design?\n│  ├─ Production-quality binders → BindCraft ✓\n│  ├─ High diversity exploration → RFdiffusion\n│  └─ All-atom precision → BoltzGen\n│\n├─ What matters most?\n│  ├─ Experimental success rate → BindCraft ✓\n│  ├─ Speed / diversity → RFdiffusion + ProteinMPNN\n│  ├─ AF2 gradient optimization → ColabDesign\n│  └─ All-atom control → BoltzGen\n│\n└─ Compute resources?\n   ├─ Have L40S/A100 → BindCraft ✓\n   └─ Only A10G → RFdiffusion + ProteinMPNN\n```\n\n## Typical performance\n\n| Campaign Size | Time (L40S) | Cost (Modal) | Notes |\n|---------------|-------------|--------------|-------|\n| 50 designs | 2-4h | ~$15 | Quick campaign |\n| 100 designs | 4-8h | ~$30 | Standard |\n| 200 designs | 8-16h | ~$60 | Large campaign |\n\n**Expected pass rate**: 30-70% with ipTM > 0.5 (target-dependent).\n\n---\n\n## Verify\n\n```bash\nfind output -name \"binder.pdb\" | wc -l  # Should match num_designs\n```\n\n---\n\n## Troubleshooting\n\n**Low ipTM scores**: Check hotspot selection, increase designs\n**Slow convergence**: Use fast protocol for screening\n**OOM errors**: Reduce num_models, use L40S GPU\n**Poor diversity**: Lower sampling_temp, run multiple seeds\n\n### Error interpretation\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| `RuntimeError: CUDA out of memory` | Large target or long binder | Use L40S/A100, reduce binder length |\n| `ValueError: no hotspots` | Hotspots not found | Check residue numbering |\n| `TimeoutError` | Design taking too long | Use fast protocol |\n\n---\n\n**Next**: Rank by `ipsae` → experimental validation.","tags":["bindcraft","protein","design","skills","adaptyvbio","agent-skills","claude-code","protein-design","protein-engineering"],"capabilities":["skill","source-adaptyvbio","skill-bindcraft","topic-agent-skills","topic-claude-code","topic-protein-design","topic-protein-engineering"],"categories":["protein-design-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/adaptyvbio/protein-design-skills/bindcraft","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add adaptyvbio/protein-design-skills","source_repo":"https://github.com/adaptyvbio/protein-design-skills","install_from":"skills.sh"}},"qualityScore":"0.513","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 126 github stars · SKILL.md body (4,318 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:54:48.038Z","embedding":null,"createdAt":"2026-04-18T22:10:01.540Z","updatedAt":"2026-05-02T12:54:48.038Z","lastSeenAt":"2026-05-02T12:54:48.038Z","tsv":"'-100':104,145,180 '-150':182 '-16':439 '-4':424 '-500':195 '-70':351,448 '-8':432 '/../docs/installation.md':75 '/martinpacesa/bindcraft.git':128 '0':230 '0.5':332,344,451 '0.58':318 '0.62':256,307 '0.78':254 '0.85':339 '0.86':316 '0.89':252,305 '1':15,83,194,244 '1.2':260 '1/50':300 '100':429 '11.7':57 '12.0':58 '15':426 '2':25,120,423 '200':436 '3':32 '3.10':55 '3.9':54 '30':350,434,447 '32/50':328 '32gb':61,65 '3600s':117 '4':40,431 '40':181 '48gb':62,115 '50':112,152,193,277,297,421 '50/50':311 '60':441 '64':329 '64gb':66 '70':103,144,179 '78':302 '8':438 '8.5':258 '85':313 'a-z':170 'a10g':409 'a45':106,147,289 'a67':107,148,290 'a89':108,149,291 'aa':303,314 'across':357 'af2':23,394 'all-atom':378,398 'atom':380,400 'backbon':43 'bash':86,123,456 'bindcraft':1,9,46,130,280,364,373,389,407 'bindcraft.py':136 'binder':6,18,30,47,101,142,177,235,372,513,517 'binder-length':100,176 'binder.pdb':231,460 'biomod':81,88 'boltzgen':382,402 'built':21 'built-in':20 'campaign':31,220,322,414,428,443 'case':210 'caus':502 'cd':87,129 'chain':98,140,168,174,285 'check':471,525 'clone':125 'colabdesign':397 'complet':323 'complex.pdb':234 'comput':403 'control':401 'converg':477 'cost':418 'cuda':56,505 'decis':359 'default':38,118,156,200,216,294 'depend':352,454 'descript':158 'design':7,16,35,48,111,151,192,198,229,233,243,276,298,299,310,342,347,358,368,422,430,437,466,475,529 'differ':34 'divers':355,375,391,492 'end':3,5 'end-to-end':2 'error':484,499,501 'expect':444 'experiment':386,540 'explor':376 'fast':37,211,212,479,534 'fast/default/slow':201 'final':224,232 'find':457 'first':70 'fix':503 'format':227 'found':524 'generat':296 'git':124 'github.com':127 'github.com/martinpacesa/bindcraft.git':126 'good':218,334 'gpu':59,113,490 'gradient':395 'guid':74 'h':425,433,440 'hallucin':10 'high':223,374 'hotspot':105,146,185,189,288,472,521,522 'increas':474 'info':278,282,287,292,295,321 'initi':214 'instal':73,122,132 'interpret':500 'ipsa':539 'iptm':255,306,317,331,343,450,469 'joint':42 'json':250 'key':153 'l':462 'l40s':63,114,417,489 'l40s/a100':406,515 'larg':442,509 'length':102,143,178,183,301,312,518 'like':337 'load':279 'local':121 'long':512,532 'look':336 'low':468 'lower':213,493 'match':464 'matter':384 'medium':217 'memori':508 'metric':247,248 'metrics.json':237 'minimum':51 'mktayiak':262 'modal':79,84,89,267,419 'modal_bindcraft.py':91,269 'model':281,487 'multipl':497 'name':459 'need':41 'next':536 'none':186 'note':420 'num':110,150,191,275,465,486 'num-design':109,190,274 'number':196,527 'oom':483 'optim':241,396 'option':82,119 'output':226,228,249,264,335,458 'output/design_0':309 'output/design_49':320 'output/summary.csv':325 'pae':257 'paramet':154,155 'pass':326,346,348,445 'path':163 'pdb':94,161,272 'perform':413 'pip':131 'plddt':251,304,315,338 'poor':491 'precis':381 'prerequisit':49 'product':28,225,370 'production-qu':27,369 'protein':17 'proteinmpnn':393,411 'protocol':36,199,205,206,293,480,535 'ptm':253 'python':53,135 'qc':238 'qualiti':29,202,208,371 'quick':427 'r':133 'ram':64 'rang':157,184 'rank':537 'rate':327,349,388,446 'recommend':52,85 'reduc':485,516 'requir':50,162,169 'requirements.txt':134 'residu':187,526 'resourc':404 'rfdiffus':377,392,410 'rmsd':259 'run':26,69,90,266,268,496 'runtimeerror':504 'sampl':263,494 'save':308,319 'score':239,470 'screen':215,482 'see':72 'seed':498 'select':473 'sequen':45 'sequenc':261,356 'set':77 'size':415 'skill':13 'skill-bindcraft' 'slow':39,221,222,476 'source-adaptyvbio' 'speed':204,207,390 'standard':219,435 'structur':165 'success':265,387 'summari':324 'summary.csv':245 'take':530 'target':93,97,137,139,160,164,167,173,188,236,271,283,354,453,510 'target-chain':96,166 'target-depend':452 'target-pdb':92,159,270 'target.pdb':95,138,273,284 'temp':495 'time':71,416 'timeout':116 'timeouterror':528 'topic-agent-skills' 'topic-claude-code' 'topic-protein-design' 'topic-protein-engineering' 'trajectori':240,242 'tree':360 'troubleshoot':467 'type':366 'typic':412 'use':8,11,33,209,363,478,488,514,533 'valid':24,541 'valueerror':519 'verifi':455 'vram':60 'vs':203 'wc':461 'z':172","prices":[{"id":"172e9492-1151-4c6e-b2b7-4d6c1adc0bae","listingId":"6d4de564-668e-4c7c-9ab9-a268e769d24b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"adaptyvbio","category":"protein-design-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:10:01.540Z"}],"sources":[{"listingId":"6d4de564-668e-4c7c-9ab9-a268e769d24b","source":"github","sourceId":"adaptyvbio/protein-design-skills/bindcraft","sourceUrl":"https://github.com/adaptyvbio/protein-design-skills/tree/main/skills/bindcraft","isPrimary":false,"firstSeenAt":"2026-04-18T22:10:01.540Z","lastSeenAt":"2026-05-02T12:54:48.038Z"}],"details":{"listingId":"6d4de564-668e-4c7c-9ab9-a268e769d24b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"adaptyvbio","slug":"bindcraft","github":{"repo":"adaptyvbio/protein-design-skills","stars":126,"topics":["agent-skills","claude-code","protein-design","protein-engineering"],"license":"mit","html_url":"https://github.com/adaptyvbio/protein-design-skills","pushed_at":"2026-01-19T13:06:29Z","description":"Claude Code skills for protein design","skill_md_sha":"c8e0ce3b4bee0732743a9cd304c1836830febd04","skill_md_path":"skills/bindcraft/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/adaptyvbio/protein-design-skills/tree/main/skills/bindcraft"},"layout":"multi","source":"github","category":"protein-design-skills","frontmatter":{"name":"bindcraft","license":"MIT","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."},"skills_sh_url":"https://skills.sh/adaptyvbio/protein-design-skills/bindcraft"},"updatedAt":"2026-05-02T12:54:48.038Z"}}