> Boltz-1 / Boltz-2 structure prediction for proteins, complexes, and ligand-aware validation. (2) Validating designed binders, (3) Need open-source alternative to AF2, (4) Predicting protein-ligand complexes, (5) Using local GPU resources. For QC thresholds, use protein-design-qc. For AlphaFold2 prediction, use alphafold2-multimer. For Chai prediction, use chai1-structure-prediction.
npx skills add https://github.com/BioTender-max/awesome-bio-agent-skills --skill boltz-structure-prediction
Plain-language role: Use Boltz when you want an open-source structure predictor for protein or protein-ligand validation.
| Requirement | Minimum | Recommended |
|-------------|---------|-------------|
| Python | 3.10+ | 3.11 |
| CUDA | 12.0+ | 12.1+ |
| GPU VRAM | 24GB | 48GB (L40S) |
| RAM | 32GB | 64GB |
> First time? See Installation Guide to set up Modal and biomodals.
cd biomodals
modal run modal_boltz.py \
--input-faa complex.fasta \
--out-dir predictions/
GPU: L40S (48GB) | Timeout: 1800s default
pip install boltz-structure-prediction
boltz-structure-prediction predict \
--fasta complex.fasta \
--output predictions/
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| --recycling_steps | 3 | 1-10 | Recycling iterations |
| --sampling_steps | 200 | 50-500 | Diffusion steps |
| --use_msa_server | true | bool | Use MSA server |
>protein_A
MKTAYIAKQRQISFVK...
>protein_B
MVLSPADKTNVKAAWG...
predictions/
├── model_0.cif # Best model (CIF format)
├── confidence.json # pLDDT, pTM, ipTM
└── pae.npy # PAE matrix
Note: Boltz outputs CIF format. Convert to PDB if needed:
from Bio.PDB import MMCIFParser, PDBIO
parser = MMCIFParser()
structure = parser.get_structure("model", "model_0.cif")
io = PDBIO()
io.set_structure(structure)
io.save("model_0.pdb")
| Feature | Boltz-1 | Boltz-2 | AF2-Multimer |
|---------|---------|---------|--------------|
| MSA-free mode | Yes | Yes | No |
| Diffusion | Yes | Yes | No |
| Speed | Fast | Faster | Slower |
| Open source | Yes | Yes | Yes |
$ boltz-structure-prediction predict --fasta complex.fasta --output predictions/
[INFO] Loading Boltz-1 weights...
[INFO] Predicting structure...
[INFO] Saved model to predictions/model_0.cif
predictions/confidence.json:
{
"ptm": 0.78,
"iptm": 0.65,
"plddt": 0.81
}
What good output looks like:
Should I use Boltz?
│
├─ What are you predicting?
│ ├─ Protein-protein complex → Boltz ✓ or Chai or ColabFold
│ ├─ Protein + ligand → Boltz ✓ or Chai
│ └─ Single protein → Use ESMFold (faster)
│
├─ Need MSA?
│ ├─ No / want speed → Boltz ✓
│ └─ Yes / maximum accuracy → ColabFold
│
└─ Why Boltz over Chai?
├─ Open weights preference → Boltz ✓
├─ Boltz-2 speed → Boltz ✓
└─ DNA/RNA support → Consider Chai
| Campaign Size | Time (L40S) | Cost (Modal) | Notes |
|---------------|-------------|--------------|-------|
| 100 complexes | 30-45 min | ~$8 | Standard validation |
| 500 complexes | 2-3h | ~$35 | Large campaign |
| 1000 complexes | 4-6h | ~$70 | Comprehensive |
Per-complex: ~15-30s for typical binder-target complex.
find predictions -name "*.cif" | wc -l # Should match input count
Low confidence: Increase recycling_steps
OOM errors: Use MSA-free mode or A100-80GB
Slow prediction: Reduce sampling_steps
| Error | Cause | Fix |
|-------|-------|-----|
| RuntimeError: CUDA out of memory | Complex too large | Use --use_msa_server false or larger GPU |
| KeyError: 'iptm' | Single chain only | Ensure FASTA has 2+ chains |
| FileNotFoundError: weights | Missing model | Run boltz-structure-prediction download first |
| ValueError: invalid residue | Non-standard AA | Check for modified residues in sequence |
| Aspect | Boltz-1 | Boltz-2 |
|--------|---------|---------|
| Speed | Fast | ~2x faster |
| Accuracy | Good | Improved |
| Ligands | Basic | Better support |
| Release | 2024 | Late 2024 |
Next: protein-design-qc for filtering and ranking.
Filter the resulting predictions with protein-design-qc and compare top candidates against chai1-structure-prediction or alphafold2-multimer when needed.
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take biotender-max/boltz-structure-prediction from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.