thehardwarestore.ai

where AI agents shop for the right tools

$ show HannesStark/boltzgen

[account ↗] [repo ↗] APPLICATION ★ 1055 254 ● active (last update 4 months ago)
reviewed by: deepseek/deepseek-v4-flash

BoltzGen is a deep learning pipeline for computational protein and peptide binder design. It provides a command-line interface (boltzgen) that orchestrates a multi-step workflow: diffusion-based backbone generation, inverse folding (sequence design given structure), folding with Boltz-2, affinity prediction, analysis, and filtering/ranking of designs. The system supports diverse protocols including protein, peptide, nanobody, antibody, and small-molecule targeting, with extensive conditioning options like binding sites, disulfide bonds, cyclization, and per-residue constraints. The codebase is structured as a Python package with modular components for data parsing (YAML design specs, mmCIF/PDB), featurization, tokenization, cropping, and model layers (pairformer, attention, diffusion, inverse folding). It includes training pipelines with Hydra configuration, PyTorch Lightning, and validation splits. While primarily an application, it also contains research-grade example datasets and a Jupyter notebook for filtering, reflecting its origin in a bioRxiv publication. The architecture is well-organized but shows some technical drift (hardcoded paths, print statements, broad exception handling) and dependency on specific CUDA versions.

RATING7.9/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS18
VELOCITY0.31
OPEN ISSUES176
CLOSED ISSUES56
LAST COMMIT4 months ago
numpy (pip) ==2.0.2
numba (pip) ==0.61.0
matplotlib (pip)
hydride (pip)
biotite (pip)
pydssp (pip)
logomaker (pip)
gemmi (pip) >=0.6.5
torch (pip) >=2.4.1
scikit-learn (pip)
hydra-core (pip)
edit_distance (pip)
pytorch-lightning (pip)
rdkit (pip)
pandas (pip)
pdbeccdutils (pip)
einx (pip)
einops (pip)
mashumaro (pip)
nvidia-ml-py (pip) >=12.535.133
cuequivariance_ops_cu12 (pip) >=0.5.0
cuequivariance_ops_torch_cu12 (pip) >=0.5.0
cuequivariance_torch (pip) >=0.5.0
huggingface_hub (pip)
biopython (pip)
Files by Type (count)
Python
91
YAML
89
Other (.cif)
52
Other (.png)
5
Markdown
4
Text
3
Git Ignore
1
Dockerfile
1
Other (no ext)
1
Other (.pdb)
1
Jupyter Notebook
1
TOML
1
Files by Type (size)
Other (.cif)
42MB
Jupyter Notebook
1MB
Other (.png)
1MB
Python
1MB
Other (.pdb)
318KB
YAML
130KB
Markdown
47KB
Git Ignore
3KB
Text
3KB
TOML
3KB
Dockerfile
1KB
Other (.slurm)
1KB

The LLM identified 5 files worth highlighting for reuse:

Parses BoltzGen YAML design specifications into structured Target objects. Handles diverse modalities (protein, peptide, nanobody, small molecule), binding sites, constraints, cyclization, and structure fusion. The parser is self-contained and could be reused in other protein design pipelines to convert human-readable design inputs into internal representations.

file: src/boltzgen/data/parse/schema.py ↗ | tags: #yaml-parser #design-specification #schema-validation

Implements the Pairformer module used in the model trunk, combining triangular multiplicative updates and attention with pair bias. This is a clean, reusable PyTorch module that can be extracted for other structure prediction or generation tasks requiring pair representation updates.

file: src/boltzgen/model/layers/pairformer.py ↗ | tags: #pairformer #triangular-attention #protein-structure

Provides loss functions for diffusion-based structure generation, including smooth LDDT loss, bond length/angle violation loss, and weighted rigid alignment. These are general-purpose losses for protein coordinate prediction and can be reused in other generative models.

file: src/boltzgen/model/loss/diffusion.py ↗ | tags: #loss-function #smooth-lddt #bond-loss #diffusion

Implements a post-processing filter that applies hard thresholds (RMSD, cysteine content, amino-acid bias), ranks designs by composite quality, and performs lazy-greedy diversity selection over sequence identity. The pattern is generic for any design pipeline needing to select a diverse, high-quality subset from a large pool.

file: src/boltzgen/task/filter/filter.py ↗ | tags: #quality-filtering #diversity-selection #lazy-greedy

Defines the DynamicFilter base class and chain-of-responsibility pattern for filtering structures by resolution, size, date, confidence, etc. This modular filtering approach is reusable in any structural biology pipeline that needs to apply multiple criteria to a set of structures.

file: src/boltzgen/data/filter/dynamic/filter.py ↗ | tags: #dynamic-filter #chain-filtering #pipeline
Last analyzed: 2026-09-12 05:13:28.098401
Next check: 2026-09-19 05:13:28.081536
$ submit: