How tencentai4s/iggm works
IgGM is a generative foundation model for antibody and nanobody design. The main workflow accepts antibody and antigen sequences/structure, prepares complex features, then samples designed sequences and structures and writes PDB output. README-described tasks also include inverse design, affinity maturation, structure prediction, and humanization. The sampled CLI, deployment, parsing, and model excerpts support the main path; several task-specific internals are unsampled, so their links are marked dashed where appropriate.
Main entry points: ab_design.py Antibody designer · design.py Design CLI · base_designer.py Input assembly · model.py Design model
Components 19
Inputs and preparation
- Design CLI
design.py - FASTA parser
IgGM/protein/parser/fasta_parser.py - PDB parser
IgGM/protein/parser/pdb_parser.py
Design inference
- Antibody designer
IgGM/deploy/ab_design.py - Input assembly
IgGM/deploy/base_designer.py - PPI model
IgGM/model/arch/core/ppi_model.py - Design model
IgGM/model/arch/design_model/model.py - Structure diffuser
IgGM/model/arch/core/diffuser.py - Structure module
IgGM/model/arch/core/module/structure_module.py - Prediction heads
IgGM/model/arch/core/module/head - ESM-2 encoder
IgGM/model/arch/esm2/esm2.py
Protein representation
- Structure representation
IgGM/protein/prot_struct.py - Structure conversion
IgGM/protein/prot_converter.py - Residue definitions
IgGM/protein/prot_constants.py
Structural geometry
- Rotation transforms
IgGM/transform/rotation_conversions.py - SO(3) operations
IgGM/transform/so3.py - Diffusion utilities
IgGM/utils/diff_util.py
Other components
- Researcher
- Designed PDB
Connections 22
- Researcher → Design CLI: runs task
README.md - Design CLI → FASTA parser: parses sequences
design.py - Design CLI → PDB parser: loads antigen
design.py - Design CLI → Antibody designer: dispatches design
- Antibody designer → Input assembly: inherits assembly
IgGM/deploy/ab_design.py - Antibody designer → PPI model: restores featurizer
IgGM/deploy/ab_design.py - Antibody designer → Design model: restores model
IgGM/deploy/ab_design.py - Antibody designer → Structure diffuser: perturbs structures
IgGM/deploy/ab_design.py - Input assembly → Structure representation: builds structures
IgGM/deploy/base_designer.py - Input assembly → Structure conversion: converts structures
IgGM/deploy/base_designer.py - Input assembly → PDB parser: loads and saves
IgGM/deploy/base_designer.py - Design model → Structure module: uses module
IgGM/model/arch/design_model/model.py - Design model → Prediction heads: uses heads
- Design model → ESM-2 encoder: encodes sequences
- Antibody designer → Designed PDB: writes prediction
- PDB parser → Residue definitions: interprets residues
IgGM/protein/parser/pdb_parser.py - Structure representation → Residue definitions: uses atom definitions
IgGM/protein/prot_struct.py - Structure conversion → Residue definitions: uses residue definitions
IgGM/protein/prot_converter.py - Rotation transforms → SO(3) operations: supports rotations
IgGM/transform/so3.py - Diffusion utilities → SO(3) operations: uses SO(3)
IgGM/utils/diff_util.py - Diffusion utilities → Rotation transforms: converts rotations
IgGM/utils/diff_util.py - Structure diffuser → Diffusion utilities: uses sampling utilities
IgGM/model/arch/core/diffuser.py