{"id":"260da920-f9ea-4ca6-9d4e-16157ef40f04","shortId":"zNYhMc","kind":"skill","title":"boltzgen","tagline":"All-atom protein design using BoltzGen diffusion model. Use this skill when: (1) Need side-chain aware design from the start, (2) Designing around small molecules or ligands, (3) Want all-atom diffusion (not just backbone), (4) Require precise binding geometries, (5) Using YAML-b","description":"# BoltzGen All-Atom Design\n\n## Prerequisites\n\n| Requirement | Minimum | Recommended |\n|-------------|---------|-------------|\n| Python | 3.10+ | 3.11 |\n| CUDA | 12.0+ | 12.1+ |\n| GPU VRAM | 24GB | 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\n# Clone biomodals\ngit clone https://github.com/hgbrian/biomodals && cd biomodals\n\n# Run BoltzGen (requires YAML config file)\nmodal run modal_boltzgen.py \\\n  --input-yaml binder_config.yaml \\\n  --protocol protein-anything \\\n  --num-designs 50\n\n# With custom GPU\nGPU=L40S modal run modal_boltzgen.py \\\n  --input-yaml binder_config.yaml \\\n  --protocol protein-anything \\\n  --num-designs 100\n```\n\n**GPU**: L40S (48GB) recommended | **Timeout**: 120min default\n\n**Available protocols**: `protein-anything`, `peptide-anything`, `protein-small_molecule`, `nanobody-anything`, `antibody-anything`\n\n### Option 2: Local installation\n```bash\ngit clone https://github.com/HannesStark/boltzgen.git\ncd boltzgen\npip install -e .\n\npython sample.py config=config.yaml\n```\n\n### Option 3: Python API\n```python\nfrom boltzgen import BoltzGen\n\nmodel = BoltzGen.load_pretrained()\ndesigns = model.sample(\n    target_pdb=\"target.pdb\",\n    num_samples=50,\n    binder_length=80\n)\n```\n\n**GPU**: L40S (48GB) | **Time**: ~30-60s per design\n\n## Key parameters (CLI)\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `--input-yaml` | required | Path to YAML design specification |\n| `--protocol` | `protein-anything` | Design protocol |\n| `--num-designs` | 10 | Number of designs to generate |\n| `--steps` | all | Pipeline steps to run (e.g., `design inverse_folding`) |\n\n## YAML configuration\n\nBoltzGen uses an **entity-based YAML format** where you specify designed proteins and target structures as entities.\n\n**Important notes:**\n- Residue indices use `label_seq_id` (1-indexed), not author residue numbers\n- File paths are relative to the YAML file location\n- Target files should be in CIF format (PDB also works but CIF preferred)\n- Run `boltzgen check config.yaml` to verify your specification before running\n\n### Basic Binder Config\n```yaml\nentities:\n  # Designed protein (variable length 80-140 residues)\n  - protein:\n      id: B\n      sequence: 80..140\n\n  # Target from structure file\n  - file:\n      path: target.cif\n      include:\n        - chain:\n            id: A\n      # Specify binding site residues (optional but recommended)\n      binding_types:\n        - chain:\n            id: A\n            binding: 45,67,89\n```\n\n### Binder with Specific Binding Site\n```yaml\nentities:\n  - protein:\n      id: G\n      sequence: 60..100\n\n  - file:\n      path: 5cqg.cif\n      include:\n        - chain:\n            id: A\n      binding_types:\n        - chain:\n            id: A\n            binding: 343,344,251\n      structure_groups: \"all\"\n```\n\n### Peptide Design (Cyclic)\n```yaml\nentities:\n  - protein:\n      id: S\n      sequence: 10..14C6C3  # With cysteines for disulfide\n\n  - file:\n      path: target.cif\n      include:\n        - chain:\n            id: A\n\nconstraints:\n  - bond:\n      atom1: [S, 11, SG]\n      atom2: [S, 18, SG]  # Disulfide bond\n```\n\n## Design protocols\n\n| Protocol | Use Case |\n|----------|----------|\n| `protein-anything` | Design proteins to bind proteins or peptides |\n| `peptide-anything` | Design cyclic peptides to bind proteins |\n| `protein-small_molecule` | Design proteins to bind small molecules |\n| `nanobody-anything` | Design nanobody CDRs |\n| `antibody-anything` | Design antibody CDRs |\n\n## Output format\n\n```\noutput/\n├── sample_0/\n│   ├── design.cif         # All-atom structure (CIF format)\n│   ├── metrics.json       # Confidence scores\n│   └── sequence.fasta     # Sequence\n├── sample_1/\n│   └── ...\n└── summary.csv\n```\n\n**Note**: BoltzGen outputs CIF format. Convert to PDB if needed:\n```python\nfrom Bio.PDB import MMCIFParser, PDBIO\nparser = MMCIFParser()\nstructure = parser.get_structure(\"design\", \"design.cif\")\nio = PDBIO()\nio.set_structure(structure)\nio.save(\"design.pdb\")\n```\n\n## Sample output\n\n### Successful run\n```\n$ modal run modal_boltzgen.py --input-yaml binder.yaml --protocol protein-anything --num-designs 10\nRunning: boltzgen run binder.yaml --output /tmp/out --protocol protein-anything --num_designs 10\n[INFO] Loading BoltzGen model...\n[INFO] Generating designs...\n[INFO] Running inverse folding...\n[INFO] Running structure prediction...\n[INFO] Filtering and ranking...\n[INFO] Pipeline complete\n\nResults saved to: ./out/boltzgen/2501161234/\n```\n\n**Output directory structure:**\n```\nout/boltzgen/2501161234/\n├── intermediate_designs/           # Raw diffusion outputs\n│   ├── design_0.cif\n│   └── design_0.npz\n├── intermediate_designs_inverse_folded/\n│   ├── refold_cif/                 # Refolded complexes\n│   └── aggregate_metrics_analyze.csv\n└── final_ranked_designs/\n    ├── final_10_designs/           # Top designs\n    └── results_overview.pdf        # Summary plots\n```\n\n**What good output looks like:**\n- Refolding RMSD < 2.0A (design folds as predicted)\n- ipTM > 0.5 (confident interface)\n- All designs complete pipeline without errors\n\n## Decision tree\n\n```\nShould I use BoltzGen?\n│\n├─ What type of design?\n│  ├─ All-atom precision needed → BoltzGen ✓\n│  ├─ Ligand binding pocket → BoltzGen ✓\n│  └─ Standard miniprotein → RFdiffusion (faster)\n│\n├─ What matters most?\n│  ├─ Side-chain packing → BoltzGen ✓\n│  ├─ Speed / diversity → RFdiffusion\n│  ├─ Highest success rate → BindCraft\n│  └─ AF2 optimization → ColabDesign\n│\n└─ Compute resources?\n   ├─ Have L40S/A100 (48GB+) → BoltzGen ✓\n   └─ Only A10G (24GB) → Consider RFdiffusion\n```\n\n## Typical performance\n\n| Campaign Size | Time (L40S) | Cost (Modal) | Notes |\n|---------------|-------------|--------------|-------|\n| 50 designs | 30-45 min | ~$8 | Quick exploration |\n| 100 designs | 1-1.5h | ~$15 | Standard campaign |\n| 500 designs | 5-8h | ~$70 | Large campaign |\n\n**Per-design**: ~30-60s for typical binder.\n\n---\n\n## Verify\n\n```bash\nfind output -name \"*.cif\" | wc -l  # Should match num_samples\n```\n\n---\n\n## Troubleshooting\n\n**Verify config first**: Always run `boltzgen check config.yaml` before running the full pipeline\n**Slow generation**: Use fewer designs for initial testing, then scale up\n**OOM errors**: Use A100-80GB or reduce `--num-designs`\n**Wrong binding site**: Residue indices use `label_seq_id` (1-indexed), check in Molstar viewer\n\n### Error interpretation\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| `RuntimeError: CUDA out of memory` | Large design or long protein | Use A100-80GB or reduce designs |\n| `FileNotFoundError: *.cif` | Target file not found | File paths are relative to YAML location |\n| `ValueError: invalid chain` | Chain not in target | Verify chain IDs with Molstar or PyMOL |\n| `modal: command not found` | Modal CLI not installed | Run `pip install modal && modal setup` |\n\n---\n\n**Next**: Validate with `boltz` or `chai` → `protein-qc` for filtering.","tags":["boltzgen","protein","design","skills","adaptyvbio","agent-skills","claude-code","protein-design","protein-engineering"],"capabilities":["skill","source-adaptyvbio","skill-boltzgen","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/boltzgen","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 (7,016 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.323Z","embedding":null,"createdAt":"2026-04-18T22:10:04.570Z","updatedAt":"2026-05-02T12:54:48.323Z","lastSeenAt":"2026-05-02T12:54:48.323Z","tsv":"'-1.5':718 '-140':336 '-45':710 '-60':216,735 '-8':726 '/../docs/installation.md':82 '/hannesstark/boltzgen.git':178 '/hgbrian/biomodals':100 '/out/boltzgen/2501161234':590 '/tmp/out':557 '0':487 '0.5':636 '1':15,90,288,501,717,797 '10':244,412,551,564,615 '100':143,383,715 '11':429 '12.0':64 '12.1':65 '120min':149 '140':343 '14c6c3':413 '15':720 '18':433 '2':25,170 '2.0':629 '24gb':68,695 '251':399 '3':32,189 '3.10':61 '3.11':62 '30':215,709,734 '32gb':72 '343':397 '344':398 '4':41 '45':368 '48gb':69,146,213,691 '5':46,725 '50':123,207,707 '500':723 '5cqg.cif':386 '60':382 '64gb':73 '67':369 '70':728 '8':712 '80':210,335,342 '80gb':782,821 '89':370 'a100':781,820 'a100-80gb':780,819 'a10g':694 'af2':684 'aggregate_metrics_analyze.csv':610 'all-atom':2,34,52,489,655 'also':311 'alway':756 'antibodi':167,478,481 'antibody-anyth':166,477 'anyth':119,139,155,158,165,168,238,444,454,473,479,547,561 'api':191 'around':27 'atom':4,36,54,491,657 'atom1':427 'atom2':431 'author':291 'avail':151 'awar':20 'b':50,340 'backbon':40 'base':267 'bash':93,173,741 'basic':326 'bind':44,356,362,367,374,391,396,448,459,468,662,789 'bindcraft':683 'binder':208,327,371,739 'binder.yaml':543,555 'binder_config.yaml':115,135 'bio.pdb':515 'biomod':88,95,102 'boltz':869 'boltzgen':1,8,51,104,180,194,196,262,317,504,553,567,650,660,664,676,692,758 'boltzgen.load':198 'bond':426,436 'campaign':700,722,730 'case':441 'caus':806 'cd':101,179 'cdrs':476,482 'chai':871 'chain':19,352,364,388,393,422,674,840,841,846 'check':318,759,799 'cif':308,314,493,506,607,745,826 'cli':222,857 'clone':94,97,175 'colabdesign':686 'command':853 'complet':586,641 'complex':609 'comput':687 'confid':496,637 'config':107,186,328,754 'config.yaml':187,319,760 'configur':261 'consid':696 'constraint':425 'convert':508 'cost':704 'cuda':63,809 'custom':125 'cyclic':405,456 'cystein':415 'decis':645 'default':150,224 'descript':225 'design':6,21,26,55,122,142,200,219,233,239,243,247,257,273,331,404,437,445,455,465,474,480,524,550,563,571,596,603,613,616,618,631,640,654,708,716,724,733,770,787,814,824 'design.cif':488,525 'design.pdb':532 'design_0.cif':600 'design_0.npz':601 'diffus':9,37,598 'directori':592 'disulfid':417,435 'divers':678 'e':183 'e.g':256 'entiti':266,279,330,377,407 'entity-bas':265 'error':644,778,803,805 'explor':714 'faster':668 'fewer':769 'file':108,294,301,304,347,348,384,418,828,831 'filenotfounderror':825 'filter':581,876 'final':611,614 'find':742 'first':77,755 'fix':807 'fold':259,575,605,632 'format':269,309,484,494,507 'found':830,855 'full':764 'g':380 'generat':249,570,767 'geometri':45 'git':96,174 'github.com':99,177 'github.com/hannesstark/boltzgen.git':176 'github.com/hgbrian/biomodals':98 'good':623 'gpu':66,126,127,144,211 'group':401 'guid':81 'h':719,727 'highest':680 'id':287,339,353,365,379,389,394,409,423,796,847 'import':195,280,516 'includ':351,387,421 'index':289,798 'indic':283,792 'info':565,569,572,576,580,584 'initi':772 'input':113,133,227,541 'input-yaml':112,132,226,540 'instal':80,172,182,859,862 'interfac':638 'intermedi':595,602 'interpret':804 'invalid':839 'invers':258,574,604 'io':526 'io.save':531 'io.set':528 'iptm':635 'key':220 'l':747 'l40s':70,128,145,212,703 'l40s/a100':690 'label':285,794 'larg':729,813 'length':209,334 'ligand':31,661 'like':626 'load':566 'local':171 'locat':302,837 'long':816 'look':625 'match':749 'matter':670 'memori':812 'metrics.json':495 'min':711 'minimum':58 'miniprotein':666 'mmcifpars':517,520 'modal':86,91,109,129,537,705,852,856,863,864 'modal_boltzgen.py':111,131,539 'model':10,197,568 'model.sample':201 'molecul':29,162,464,470 'molstar':801,849 'name':744 'nanobodi':164,472,475 'nanobody-anyth':163,471 'need':16,512,659 'next':866 'note':281,503,706 'num':121,141,205,242,549,562,750,786 'num-design':120,140,241,548,785 'number':245,293 'oom':777 'optim':685 'option':89,169,188,359 'out/boltzgen/2501161234':594 'output':483,485,505,534,556,591,599,624,743 'pack':675 'paramet':221,223 'parser':519 'parser.get':522 'path':230,295,349,385,419,832 'pdb':203,310,510 'pdbio':518,527 'peptid':157,403,451,453,457 'peptide-anyth':156,452 'per':218,732 'per-design':731 'perform':699 'pip':181,861 'pipelin':252,585,642,765 'plot':621 'pocket':663 'precis':43,658 'predict':579,634 'prefer':315 'prerequisit':56 'pretrain':199 'protein':5,118,138,154,160,237,274,332,338,378,408,443,446,449,460,462,466,546,560,817,873 'protein-anyth':117,137,153,236,442,545,559 'protein-qc':872 'protein-smal':159,461 'protocol':116,136,152,235,240,438,439,544,558 'pymol':851 'python':60,184,190,192,513 'qc':874 'quick':713 'ram':71 'rank':583,612 'rate':682 'raw':597 'recommend':59,92,147,361 'reduc':784,823 'refold':606,608,627 'relat':297,834 'requir':42,57,105,229 'residu':282,292,337,358,791 'resourc':688 'result':587 'results_overview.pdf':619 'rfdiffus':667,679,697 'rmsd':628 'run':76,103,110,130,255,316,325,536,538,552,554,573,577,757,762,860 'runtimeerror':808 'sampl':206,486,500,533,751 'sample.py':185 'save':588 'scale':775 'score':497 'see':79 'seq':286,795 'sequenc':341,381,411,499 'sequence.fasta':498 'set':84 'setup':865 'sg':430,434 'side':18,673 'side-chain':17,672 'site':357,375,790 'size':701 'skill':13 'skill-boltzgen' 'slow':766 'small':28,161,463,469 'source-adaptyvbio' 'specif':234,323,373 'specifi':272,355 'speed':677 'standard':665,721 'start':24 'step':250,253 'structur':277,346,400,492,521,523,529,530,578,593 'success':535,681 'summari':620 'summary.csv':502 'target':202,276,303,344,827,844 'target.cif':350,420 'target.pdb':204 'test':773 'time':78,214,702 'timeout':148 'top':617 'topic-agent-skills' 'topic-claude-code' 'topic-protein-design' 'topic-protein-engineering' 'tree':646 'troubleshoot':752 'type':363,392,652 'typic':698,738 'use':7,11,47,263,284,440,649,768,779,793,818 'valid':867 'valueerror':838 'variabl':333 'verifi':321,740,753,845 'viewer':802 'vram':67 'want':33 'wc':746 'without':643 'work':312 'wrong':788 'yaml':49,106,114,134,228,232,260,268,300,329,376,406,542,836 'yaml-b':48","prices":[{"id":"736e421b-7d40-48c4-8bfb-30d7ec5bb96e","listingId":"260da920-f9ea-4ca6-9d4e-16157ef40f04","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:04.570Z"}],"sources":[{"listingId":"260da920-f9ea-4ca6-9d4e-16157ef40f04","source":"github","sourceId":"adaptyvbio/protein-design-skills/boltzgen","sourceUrl":"https://github.com/adaptyvbio/protein-design-skills/tree/main/skills/boltzgen","isPrimary":false,"firstSeenAt":"2026-04-18T22:10:04.570Z","lastSeenAt":"2026-05-02T12:54:48.323Z"}],"details":{"listingId":"260da920-f9ea-4ca6-9d4e-16157ef40f04","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"adaptyvbio","slug":"boltzgen","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":"a6b1a1ef4382051ebbaf861b7b4d83115e00b7da","skill_md_path":"skills/boltzgen/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/adaptyvbio/protein-design-skills/tree/main/skills/boltzgen"},"layout":"multi","source":"github","category":"protein-design-skills","frontmatter":{"name":"boltzgen","license":"MIT","description":"All-atom protein design using BoltzGen diffusion model. Use this skill when: (1) Need side-chain aware design from the start, (2) Designing around small molecules or ligands, (3) Want all-atom diffusion (not just backbone), (4) Require precise binding geometries, (5) Using YAML-based configuration.  For backbone-only generation, use rfdiffusion. For sequence-only design, use proteinmpnn. For structure validation, use boltz."},"skills_sh_url":"https://skills.sh/adaptyvbio/protein-design-skills/boltzgen"},"updatedAt":"2026-05-02T12:54:48.323Z"}}