Loading...
Loading...
Compare original and translation side by side
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.10+ | 3.11 |
| CUDA | 12.0+ | 12.1+ |
| GPU VRAM | 24GB | 48GB (L40S) |
| RAM | 32GB | 64GB |
| 要求 | 最低配置 | 推荐配置 |
|---|---|---|
| Python | 3.10及以上 | 3.11 |
| CUDA | 12.0及以上 | 12.1及以上 |
| GPU显存 | 24GB | 48GB(L40S) |
| 内存 | 32GB | 64GB |
First time? See Installation Guide to set up Modal and biomodals.
**首次使用?**请查看安装指南设置Modal和biomodals。
undefinedundefined
**GPU**: L40S (48GB) recommended | **Timeout**: 120min default
**Available protocols**: `protein-anything`, `peptide-anything`, `protein-small_molecule`, `nanobody-anything`, `antibody-anything`
**GPU**:推荐使用L40S(48GB) | **超时时间**:默认120分钟
**可用协议**:`protein-anything`、`peptide-anything`、`protein-small_molecule`、`nanobody-anything`、`antibody-anything`git clone https://github.com/HannesStark/boltzgen.git
cd boltzgen
pip install -e .
python sample.py config=config.yamlgit clone https://github.com/HannesStark/boltzgen.git
cd boltzgen
pip install -e .
python sample.py config=config.yamlfrom boltzgen import BoltzGen
model = BoltzGen.load_pretrained()
designs = model.sample(
target_pdb="target.pdb",
num_samples=50,
binder_length=80
)from boltzgen import BoltzGen
model = BoltzGen.load_pretrained()
designs = model.sample(
target_pdb="target.pdb",
num_samples=50,
binder_length=80
)| Parameter | Default | Description |
|---|---|---|
| required | Path to YAML design specification |
| | Design protocol |
| 10 | Number of designs to generate |
| all | Pipeline steps to run (e.g., |
| 参数 | 默认值 | 描述 |
|---|---|---|
| 必填 | YAML设计规范文件路径 |
| | 设计协议 |
| 10 | 要生成的设计数量 |
| 全部 | 要运行的流水线步骤(例如: |
label_seq_idboltzgen check config.yamllabel_seq_idboltzgen check config.yamlentities:
# Designed protein (variable length 80-140 residues)
- protein:
id: B
sequence: 80..140
# Target from structure file
- file:
path: target.cif
include:
- chain:
id: A
# Specify binding site residues (optional but recommended)
binding_types:
- chain:
id: A
binding: 45,67,89entities:
# Designed protein (variable length 80-140 residues)
- protein:
id: B
sequence: 80..140
# Target from structure file
- file:
path: target.cif
include:
- chain:
id: A
# Specify binding site residues (optional but recommended)
binding_types:
- chain:
id: A
binding: 45,67,89entities:
- protein:
id: G
sequence: 60..100
- file:
path: 5cqg.cif
include:
- chain:
id: A
binding_types:
- chain:
id: A
binding: 343,344,251
structure_groups: "all"entities:
- protein:
id: G
sequence: 60..100
- file:
path: 5cqg.cif
include:
- chain:
id: A
binding_types:
- chain:
id: A
binding: 343,344,251
structure_groups: "all"entities:
- protein:
id: S
sequence: 10..14C6C3 # With cysteines for disulfide
- file:
path: target.cif
include:
- chain:
id: A
constraints:
- bond:
atom1: [S, 11, SG]
atom2: [S, 18, SG] # Disulfide bondentities:
- protein:
id: S
sequence: 10..14C6C3 # With cysteines for disulfide
- file:
path: target.cif
include:
- chain:
id: A
constraints:
- bond:
atom1: [S, 11, SG]
atom2: [S, 18, SG] # Disulfide bond| Protocol | Use Case |
|---|---|
| Design proteins to bind proteins or peptides |
| Design cyclic peptides to bind proteins |
| Design proteins to bind small molecules |
| Design nanobody CDRs |
| Design antibody CDRs |
| 协议 | 适用场景 |
|---|---|
| 设计与蛋白质或肽结合的蛋白质 |
| 设计与蛋白质结合的环状肽 |
| 设计与小分子结合的蛋白质 |
| 设计纳米抗体CDR区域 |
| 设计抗体CDR区域 |
output/
├── sample_0/
│ ├── design.cif # All-atom structure (CIF format)
│ ├── metrics.json # Confidence scores
│ └── sequence.fasta # Sequence
├── sample_1/
│ └── ...
└── summary.csvfrom Bio.PDB import MMCIFParser, PDBIO
parser = MMCIFParser()
structure = parser.get_structure("design", "design.cif")
io = PDBIO()
io.set_structure(structure)
io.save("design.pdb")output/
├── sample_0/
│ ├── design.cif # All-atom structure (CIF format)
│ ├── metrics.json # Confidence scores
│ └── sequence.fasta # Sequence
├── sample_1/
│ └── ...
└── summary.csvfrom Bio.PDB import MMCIFParser, PDBIO
parser = MMCIFParser()
structure = parser.get_structure("design", "design.cif")
io = PDBIO()
io.set_structure(structure)
io.save("design.pdb")$ modal run modal_boltzgen.py --input-yaml binder.yaml --protocol protein-anything --num-designs 10
Running: boltzgen run binder.yaml --output /tmp/out --protocol protein-anything --num_designs 10
[INFO] Loading BoltzGen model...
[INFO] Generating designs...
[INFO] Running inverse folding...
[INFO] Running structure prediction...
[INFO] Filtering and ranking...
[INFO] Pipeline complete
Results saved to: ./out/boltzgen/2501161234/out/boltzgen/2501161234/
├── intermediate_designs/ # Raw diffusion outputs
│ ├── design_0.cif
│ └── design_0.npz
├── intermediate_designs_inverse_folded/
│ ├── refold_cif/ # Refolded complexes
│ └── aggregate_metrics_analyze.csv
└── final_ranked_designs/
├── final_10_designs/ # Top designs
└── results_overview.pdf # Summary plots$ modal run modal_boltzgen.py --input-yaml binder.yaml --protocol protein-anything --num-designs 10
Running: boltzgen run binder.yaml --output /tmp/out --protocol protein-anything --num_designs 10
[INFO] Loading BoltzGen model...
[INFO] Generating designs...
[INFO] Running inverse folding...
[INFO] Running structure prediction...
[INFO] Filtering and ranking...
[INFO] Pipeline complete
Results saved to: ./out/boltzgen/2501161234/out/boltzgen/2501161234/
├── intermediate_designs/ # Raw diffusion outputs
│ ├── design_0.cif
│ └── design_0.npz
├── intermediate_designs_inverse_folded/
│ ├── refold_cif/ # Refolded complexes
│ └── aggregate_metrics_analyze.csv
└── final_ranked_designs/
├── final_10_designs/ # Top designs
└── results_overview.pdf # Summary plotsShould I use BoltzGen?
│
├─ What type of design?
│ ├─ All-atom precision needed → BoltzGen ✓
│ ├─ Ligand binding pocket → BoltzGen ✓
│ └─ Standard miniprotein → RFdiffusion (faster)
│
├─ What matters most?
│ ├─ Side-chain packing → BoltzGen ✓
│ ├─ Speed / diversity → RFdiffusion
│ ├─ Highest success rate → BindCraft
│ └─ AF2 optimization → ColabDesign
│
└─ Compute resources?
├─ Have L40S/A100 (48GB+) → BoltzGen ✓
└─ Only A10G (24GB) → Consider RFdiffusionShould I use BoltzGen?
│
├─ What type of design?
│ ├─ All-atom precision needed → BoltzGen ✓
│ ├─ Ligand binding pocket → BoltzGen ✓
│ └─ Standard miniprotein → RFdiffusion (faster)
│
├─ What matters most?
│ ├─ Side-chain packing → BoltzGen ✓
│ ├─ Speed / diversity → RFdiffusion
│ ├─ Highest success rate → BindCraft
│ └─ AF2 optimization → ColabDesign
│
└─ Compute resources?
├─ Have L40S/A100 (48GB+) → BoltzGen ✓
└─ Only A10G (24GB) → Consider RFdiffusion| Campaign Size | Time (L40S) | Cost (Modal) | Notes |
|---|---|---|---|
| 50 designs | 30-45 min | ~$8 | Quick exploration |
| 100 designs | 1-1.5h | ~$15 | Standard campaign |
| 500 designs | 5-8h | ~$70 | Large campaign |
| 任务规模 | 耗时(L40S) | 成本(Modal) | 说明 |
|---|---|---|---|
| 50个设计 | 30-45分钟 | 约8美元 | 快速探索 |
| 100个设计 | 1-1.5小时 | 约15美元 | 标准任务 |
| 500个设计 | 5-8小时 | 约70美元 | 大规模任务 |
find output -name "*.cif" | wc -l # Should match num_samplesfind output -name "*.cif" | wc -l # Should match num_samplesboltzgen check config.yaml--num-designslabel_seq_idboltzgen check config.yamllabel_seq_id| Error | Cause | Fix |
|---|---|---|
| Large design or long protein | Use A100-80GB or reduce designs |
| Target file not found | File paths are relative to YAML location |
| Chain not in target | Verify chain IDs with Molstar or PyMOL |
| Modal CLI not installed | Run |
boltzchaiprotein-qc| 错误 | 原因 | 解决方法 |
|---|---|---|
| 设计规模大或蛋白质序列长 | 使用A100-80GB或减少设计数量 |
| 目标文件未找到 | 文件路径相对于YAML文件所在位置 |
| 目标中无该链 | 使用Molstar或PyMOL验证链ID |
| 未安装Modal命令行工具 | 执行 |
boltzchaiprotein-qc