$npx -y skills add adaptyvbio/protein-design-skills --skill germinalDe novo antibody and nanobody (VHH) design with Germinal. Use this skill when: (1) Designing epitope-targeted nanobodies or scFvs, (2) Needing CDR design on a fixed framework, (3) Working on antibody-format binders rather than miniproteins. For miniprotein binders, use binder-des
| 1 | # Germinal Antibody and Nanobody Design |
| 2 | |
| 3 | [Germinal](https://github.com/SantiagoMille/germinal) is an open pipeline for |
| 4 | epitope-targeted de novo antibody and nanobody design. It hallucinates CDRs on a |
| 5 | fixed framework, designs sequences with AbMPNN, and cofolds with a structure |
| 6 | predictor (it downloads AlphaFold-Multimer params). Runnable through biomodals. |
| 7 | |
| 8 | The biomodals author notes Germinal is finicky and suggests BoltzGen for general |
| 9 | binder design; treat Germinal as the antibody-format option, not a default. |
| 10 | |
| 11 | ## Prerequisites |
| 12 | |
| 13 | | Requirement | Value | |
| 14 | |-------------|-------| |
| 15 | | Runner | Modal (biomodals) | |
| 16 | | GPU | H100 (default; `GPU` env var) | |
| 17 | | Setup | See [Getting started](../../docs/getting-started.md) | |
| 18 | |
| 19 | ## How to run |
| 20 | |
| 21 | ```bash |
| 22 | git clone https://github.com/hgbrian/biomodals && cd biomodals |
| 23 | |
| 24 | uv run --with modal --with PyYAML modal run modal_germinal.py \ |
| 25 | --target-yaml target_example.yaml \ |
| 26 | --max-trajectories 1 \ |
| 27 | --max-passing-designs 1 |
| 28 | ``` |
| 29 | |
| 30 | ## Key parameters |
| 31 | |
| 32 | | Parameter | Default | Description | |
| 33 | |-----------|---------|-------------| |
| 34 | | `--target-yaml` | required | Target config (target_name, target_pdb_path, target_chain, binder_chain, target_hotspots, length) | |
| 35 | | `--run-type` | `vhh` | `vhh` (nanobody) or `scfv` | |
| 36 | | `--max-trajectories` | 100 | Trajectories to run | |
| 37 | | `--max-passing-designs` | 10 | Stop after this many passing designs | |
| 38 | | `--out-dir` | `./out/germinal` | Output directory | |
| 39 | |
| 40 | ## Target YAML |
| 41 | |
| 42 | ```yaml |
| 43 | target_name: PDL1 |
| 44 | target_pdb_path: target.pdb |
| 45 | target_chain: A |
| 46 | binder_chain: B |
| 47 | target_hotspots: "45,67,89" |
| 48 | length: 120 |
| 49 | ``` |
| 50 | |
| 51 | ## Decision tree |
| 52 | |
| 53 | ``` |
| 54 | Antibody-format binder? |
| 55 | │ |
| 56 | ├─ Nanobody / VHH → germinal (run-type vhh) or mber |
| 57 | ├─ scFv → germinal (run-type scfv) |
| 58 | └─ Miniprotein (not antibody) → binder-design (boltzgen, bindcraft, mosaic) |
| 59 | ``` |
| 60 | |
| 61 | For VHH nanobodies, biomodals also has `modal_mber.py` (mBER) and `modal_iggm.py` |
| 62 | (IgGM) as alternatives. |
| 63 | |
| 64 | ## Cost |
| 65 | |
| 66 | Adaptyv's own tests of these models showed Germinal costing about $1.60 per accepted |
| 67 | design, averaged across 7 targets. |
| 68 | |
| 69 | ## Troubleshooting |
| 70 | |
| 71 | | Issue | Cause | Fix | |
| 72 | |-------|-------|-----| |
| 73 | | Pipeline fails early | Missing PyYAML | Add `--with PyYAML` to the invocation | |
| 74 | | No passing designs | Hard epitope or low budget | Raise `--max-trajectories` | |
| 75 | | OOM | Large target | Use the default H100 or trim the target | |
| 76 | |
| 77 | --- |
| 78 | |
| 79 | **Next**: Validate with `boltz` or `chai`, rank with `ipsae`, filter with `protein-qc`. |