# baksho/e2ecal architecture

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

- Interactive diagram: https://gitdiagram.com/baksho/e2ecal
- Repository: https://github.com/baksho/e2ecal

## Overview

This is a research-experiment repository accompanying a thesis on end-to-end calibration, not a packaged application. Researchers explore a synthetic known-posterior track and two GRN tracks (SERGIO simulation and DREAM5 benchmark), comparing predictive-only, end-to-end, and post-hoc calibration and evaluating predictive quality and calibration. The principal runtime implementation visible here is shared GRN experiment utility code; notebook internals are not sampled, so their connections to that code are left unverified.

Main entry points: [`track2_grn_calibration_experiments/grn_experiment_utils.py`](https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py) (Training and recalibration), [`track2_grn_calibration_experiments/notebooks`](https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/notebooks) (SERGIO track), [`track1_simulation_supervised/notebooks`](https://github.com/baksho/e2ecal/tree/main/track1_simulation_supervised/notebooks) (Synthetic track), [`track2_grn_calibration_experiments/data`](https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/data) (GRN analyses)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_tracks["Experiment tracks"]
  node_track1["Synthetic track"]
  node_track1_results["Track 1 analyses"]
end

subgraph group_methods["Calibration methods"]
  node_shared_utils["GRN utilities"]
  node_calibration["Training and recalibration"]
  node_evaluation["Metrics and evaluation"]
end

subgraph group_grn["GRN experiments"]
  node_sergio["SERGIO track"]
  node_dream5["DREAM5 track"]
  node_grn_results["GRN analyses"]
end

node_researcher(("Researcher"))

node_researcher -->|"runs experiments"| node_track1
node_researcher -->|"runs experiments"| node_sergio
node_researcher -->|"runs experiments"| node_dream5
node_track1 -->|"compares methods"| node_calibration
node_sergio -->|"compares methods"| node_calibration
node_dream5 -->|"compares methods"| node_calibration
node_sergio -.->|"may use"| node_shared_utils
node_dream5 -.->|"may use"| node_shared_utils
node_track1 -.->|"produces analyses"| node_track1_results
node_sergio -.->|"produces analyses"| node_grn_results
node_dream5 -.->|"produces analyses"| node_grn_results
node_shared_utils -->|"implements training"| node_calibration
node_shared_utils -->|"implements metrics"| node_evaluation
node_calibration -.->|"evaluates predictions"| node_evaluation

click node_track1 "https://github.com/baksho/e2ecal/tree/main/track1_simulation_supervised/notebooks"
click node_sergio "https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/notebooks"
click node_dream5 "https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/notebooks"
click node_shared_utils "https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py"
click node_calibration "https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py"
click node_evaluation "https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py"
click node_track1_results "https://github.com/baksho/e2ecal/tree/main/track1_simulation_supervised/tables"
click node_grn_results "https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/data"

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_track1,node_track1_results toneBlue
class node_shared_utils,node_calibration,node_evaluation toneAmber
class node_sergio,node_dream5,node_grn_results toneMint
class node_researcher toneIndigo
```

## Components

### Experiment tracks

- [Synthetic track](https://github.com/baksho/e2ecal/tree/main/track1_simulation_supervised/notebooks): `track1_simulation_supervised/notebooks`
- [Track 1 analyses](https://github.com/baksho/e2ecal/tree/main/track1_simulation_supervised/tables): `track1_simulation_supervised/tables`

### Calibration methods

- [GRN utilities](https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py): `track2_grn_calibration_experiments/grn_experiment_utils.py`
- [Training and recalibration](https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py): `track2_grn_calibration_experiments/grn_experiment_utils.py`
- [Metrics and evaluation](https://github.com/baksho/e2ecal/blob/main/track2_grn_calibration_experiments/grn_experiment_utils.py): `track2_grn_calibration_experiments/grn_experiment_utils.py`

### GRN experiments

- [SERGIO track](https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/notebooks): `track2_grn_calibration_experiments/notebooks`
- [DREAM5 track](https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/notebooks): `track2_grn_calibration_experiments/notebooks`
- [GRN analyses](https://github.com/baksho/e2ecal/tree/main/track2_grn_calibration_experiments/data): `track2_grn_calibration_experiments/data`

### Other components

- **Researcher**

## Connections

- Researcher → Synthetic track: runs experiments (evidence: `README.md`)
- Researcher → SERGIO track: runs experiments (evidence: `README.md`)
- Researcher → DREAM5 track: runs experiments (evidence: `README.md`)
- Synthetic track → Training and recalibration: compares methods (evidence: `README.md`)
- SERGIO track → Training and recalibration: compares methods (evidence: `README.md`)
- DREAM5 track → Training and recalibration: compares methods (evidence: `README.md`)
- SERGIO track → GRN utilities: may use
- DREAM5 track → GRN utilities: may use
- Synthetic track → Track 1 analyses: produces analyses
- SERGIO track → GRN analyses: produces analyses
- DREAM5 track → GRN analyses: produces analyses
- GRN utilities → Training and recalibration: implements training (evidence: `track2_grn_calibration_experiments/grn_experiment_utils.py`)
- GRN utilities → Metrics and evaluation: implements metrics (evidence: `track2_grn_calibration_experiments/grn_experiment_utils.py`)
- Training and recalibration → Metrics and evaluation: evaluates predictions (evidence: `track2_grn_calibration_experiments/grn_experiment_utils.py`)
