Skip to content

4-Tier De Novo SeroRef Reference Database Curation

This presentation documents the de novo discovery, DSMZ StrainInfo/BacDive equivalence resolution, multi-antigen formula splitting (BacterialSpecies.parse_serotype and ReferenceStrain.bind_loci), and LocusPredictor pipeline producing the relational Structure-of-Arrays SeroRefRecords reference archive (src/seroref/data/seroref.npz).

Key Takeaways

  • Species Ontology (seroref.db.species): BacterialSpecies, SpeciesSpec, and SpeciesSpecs encode 51 canonical bacterial species, supported LocusArchetype bitmasks, declarative SerotypeRule regexes, Kauffmann-White serovar mappings, and landmark BGC accession ranges.
  • ENA NCTC3000 (PRJEB6403) Reference Assemblies: Harvests PacBio reference assemblies and serovar/strain metadata via ENAClient, normalizes historical species synonyms, and splits multi-antigen serotype formulas (O1:K1:H7 \(\rightarrow\) O1 O-antigen + K1 CPS) into one SeroRefRecord per biological antigen locus via ReferenceStrain.bind_loci.
  • DSMZ StrainInfo v2 & BacDive v2 Equivalence Cliques: Resolves StrainPassport equivalence cliques (synonym_values: ATCC, NCTC, DSM, CNCTC, PCM, CCUG, CIP, JCM), straininfo_id, bacdive_id, ncbi_taxid, and literature pmids into ReferenceStrains.
  • Relational SeroRefRecords Archive: Links N de novo segmented Loci to M deduplicated ReferenceStrains via foreign-key strain_indices (int32[N]).

Run Locally

# Execute CLI curation & compile src/seroref/data/seroref.npz
uv run python scripts/curate_seroref.py

# Present as interactive slideshow
uv run --with marimo --with altair marimo run scripts/curate_seroref.py

# Edit notebook cells
uv run --with marimo --with altair marimo edit scripts/curate_seroref.py

Comments