# baker-laboratory/rf_diffusion_all_atom architecture

> Architecture diagram of the GitHub repository baker-laboratory/rf_diffusion_all_atom, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/baker-laboratory/rf_diffusion_all_atom
- Repository: https://github.com/baker-laboratory/rf_diffusion_all_atom

## Overview

RFDiffusionAA generates all-atom protein structures by iteratively denoising a model state conditioned on an input structure, ligand and/or preserved protein motif, and design constraints. The principal workflow runs from inference configuration through sampler setup and reverse-diffusion steps to final and trajectory PDBs. README documents ligand-only and ligand-plus-protein-motif designs, reproducible runs, and multiple designs. The graph emphasizes these stages and the potential-guidance layer; unsampled subsystem wiring is omitted where it cannot be established from the excerpts.

Main entry points: [`inference/model_runners.py`](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/inference/model_runners.py) (Sampler runner), [`diffusion.py`](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/diffusion.py) (Reverse diffusion), [`pdbio.py`](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/pdbio.py) (Structure output), [`run_inference.py`](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/run_inference.py) (Inference entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Inference workflow"]
  node_config["Inference config<br/>[aa.yaml]"]
  node_entry["Inference entry<br/>[run_inference.py]"]
  node_runner["Sampler runner<br/>[model_runners.py]"]
end

subgraph group_conditioning["Design conditioning"]
  node_input_pdb["Target structure<br/>[7v11.pdb]"]
  node_contigs["Contig mapping<br/>[contigs.py]"]
  node_all_atom["All-atom state<br/>[aa_model.py]"]
  node_chemistry["Chemical definitions<br/>[chemical.py]"]
end

subgraph group_generation["Structure generation"]
  node_diffusion["Reverse diffusion<br/>[diffusion.py]"]
  node_geometry["Geometry features<br/>[kinematics.py]"]
  node_rotations["Rotation transforms"]
end

subgraph group_guidance["Guidance and output"]
  node_potential_manager["Potential manager<br/>[manager.py]"]
  node_potentials["Contact guidance<br/>[potentials.py]"]
  node_pdb_writer["Structure output<br/>[pdbio.py]"]
  node_design_pdb["Design structure"]
  node_trajectory["Denoising trajectories"]
end

node_user(("Design operator"))
node_checkpoint["Model weights"]

node_user -->|"sets design"| node_entry
node_config -->|"configures"| node_entry
node_entry -->|"selects sampler"| node_runner
node_input_pdb -->|"conditions sampler"| node_runner
node_runner -->|"maps design"| node_contigs
node_runner -->|"builds state"| node_all_atom
node_all_atom -->|"uses definitions"| node_chemistry
node_runner -->|"loads weights"| node_checkpoint
node_runner -->|"runs denoising"| node_diffusion
node_runner -->|"initializes guidance"| node_potential_manager
node_potential_manager -->|"instantiates"| node_potentials
node_runner -->|"writes structures"| node_pdb_writer
node_pdb_writer -->|"writes final"| node_design_pdb
node_pdb_writer -->|"writes trajectories"| node_trajectory
node_diffusion -->|"uses geometry"| node_geometry
node_diffusion -->|"uses rotations"| node_rotations

click node_config "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/config/inference/aa.yaml"
click node_entry "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/run_inference.py"
click node_runner "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/inference/model_runners.py"
click node_input_pdb "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/input/7v11.pdb"
click node_contigs "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/contigs.py"
click node_all_atom "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/aa_model.py"
click node_chemistry "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/chemical.py"
click node_diffusion "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/diffusion.py"
click node_geometry "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/kinematics.py"
click node_rotations "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/rotation_conversions.py"
click node_potential_manager "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/potentials/manager.py"
click node_potentials "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/potentials/potentials.py"
click node_pdb_writer "https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/pdbio.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_config,node_entry,node_runner toneBlue
class node_input_pdb,node_contigs,node_all_atom,node_chemistry toneAmber
class node_diffusion,node_geometry,node_rotations toneMint
class node_potential_manager,node_potentials,node_pdb_writer,node_design_pdb,node_trajectory toneRose
class node_user,node_checkpoint toneIndigo
```

## Components

### Inference workflow

- [Inference config](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/config/inference/aa.yaml): `config/inference/aa.yaml`
- [Inference entry](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/run_inference.py): `run_inference.py`
- [Sampler runner](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/inference/model_runners.py): `inference/model_runners.py`

### Design conditioning

- [Target structure](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/input/7v11.pdb): `input/7v11.pdb`
- [Contig mapping](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/contigs.py): `contigs.py`
- [All-atom state](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/aa_model.py): `aa_model.py`
- [Chemical definitions](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/chemical.py): `chemical.py`

### Structure generation

- [Reverse diffusion](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/diffusion.py): `diffusion.py`
- [Geometry features](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/kinematics.py): `kinematics.py`
- [Rotation transforms](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/rotation_conversions.py): `rotation_conversions.py`

### Guidance and output

- [Potential manager](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/potentials/manager.py): `potentials/manager.py`
- [Contact guidance](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/potentials/potentials.py): `potentials/potentials.py`
- [Structure output](https://github.com/baker-laboratory/rf_diffusion_all_atom/blob/main/pdbio.py): `pdbio.py`
- **Design structure**
- **Denoising trajectories**

### Other components

- **Design operator**
- **Model weights**

## Connections

- Design operator → Inference entry: sets design
- Inference config → Inference entry: configures
- Inference entry → Sampler runner: selects sampler
- Target structure → Sampler runner: conditions sampler
- Sampler runner → Contig mapping: maps design
- Sampler runner → All-atom state: builds state
- All-atom state → Chemical definitions: uses definitions
- Sampler runner → Model weights: loads weights
- Sampler runner → Reverse diffusion: runs denoising
- Sampler runner → Potential manager: initializes guidance
- Potential manager → Contact guidance: instantiates
- Sampler runner → Structure output: writes structures
- Structure output → Design structure: writes final
- Structure output → Denoising trajectories: writes trajectories
- Reverse diffusion → Geometry features: uses geometry
- Reverse diffusion → Rotation transforms: uses rotations
