# Benchmarks &amp; Interactive Slide Decks

SeroGen maintains reproducible [Marimo](<https://marimo.io>) notebooks in [`scripts/`](<https://github.com/SeroVerse/serogen/tree/main/scripts>) covering every stage of the pipeline: single-pass bacterial &amp; prophage ORF prediction, polysaccharide-specific 1D-CNN gene role training and layer sweeping, and de novo capsular polysaccharide (CPS) locus discovery, hybrid MCL clustering, and pan-locus database construction.

Each notebook is configured with a native **16:9 Marimo slide layout** (`scripts/layouts/*.slides.json`) and a cached session snapshot (`scripts/__marimo__/session/*.py.json`) that exports directly into the interactive slide decks embedded in this section.

- **Single-Pass Bacterial &amp; Prophage ORF Benchmark**

  ---

  Evaluates `OrfPredictor` on *Escherichia coli* K-12 MG1655 (`CP014225.1`, `4.66 Mb`) and its 9 embedded cryptic/lambdoid prophages, demonstrating how 29-state frameshift/overlap decoding and sliding 4-kb GC adaptation recover `95.6%` of prophage 3'-stops (`+17` rescued ORFs) and `99.1%` of host CDSs in a single pass at `>60 Mb/s`.
- **Polysaccharide-Specific CNN Gene Role Classifier**

  ---

  Multi-source reference curation (`UniProtKB`, `UniRef50`, `NCBI IPG`, `KEGG`), Optuna TPE hyperparameter optimization, Numba-parallel 8-layer representation sweep, and held-out validation (`>90%` accuracy &amp; Macro F1) across all 29 functional `GeneRole`s (`src/serogen/data/model.npz`), beating remote homology in the `< 25%` identity twilight zone.
- **S. pneumoniae De Novo CPS Locus Discovery &amp; Database**

  ---

  4-stage validation of de novo CPS locus discovery (`LocusPredictor`), hybrid CNN-rescued MCL orthogroup clustering (`Clusterer`), directed pan-locus graph construction (`Loci.as_pan_graph`), contig-split stitching (`100%` recovery across intergenic &amp; mid-ORF breaks), and leave-one-out novelty detection (`LocusMatcher`).

---

## Running Notebooks Locally

All notebooks can be launched interactively as reactive web apps, slide presentations, or editable Marimo notebooks via [`uv`](<https://docs.astral.sh/uv/>):

```bash
# Launch any notebook directly in Marimo's fullscreen slide presentation mode
uv run --with marimo --with altair marimo run scripts/benchmark_prophage_orfs.py
uv run --with marimo --with altair marimo run scripts/benchmark_spneumo_db.py
uv run --with marimo --with altair --with optuna marimo run scripts/train_gene_classifier.py
```

```bash
# Open in the reactive Marimo notebook editor
uv run --with marimo --with altair marimo edit scripts/benchmark_prophage_orfs.py
```

```bash
# Re-execute a notebook and update its cached session snapshot in scripts/__marimo__/session/
uv run --with marimo --with altair marimo export session --no-sandbox --force-overwrite scripts/benchmark_prophage_orfs.py
```
