Limitations and Reproducibility
Current Product Boundaries
benchmarkis centered on the bundledcore_v1,scale_v1, andmultiplex_v1fixture suites and the real-data freeze workflow.fitsupports all five backends (baseline,latent,graph,vae,wgcna); VAE is the default. Thefreeze-realworkflow is tailored to BrainSEQ-style source tables.The VAE backend (and optional attribution features) requires a separate PyTorch installation. IsoGraph installs
mpmathfor modern SymPy compatibility, but PyTorch is intentionally left to the user because CPU/GPU/CUDA builds are system-specific.Captum Integrated Gradients (
--integrated-gradients) requires the optionaltorch-explaindependency group:pip install isograph[torch-explain].The WGCNA backend requires R with the
WGCNApackage installed andRscriptonPATH(called via subprocess — no Python R bridge required).
Data Assumptions
Models operate on transcript-count matrices aligned to a transcript feature table.
To enable the abundance channel (multiplex mode), the dataset bundle must include a
gene_countsmatrix. Without it, IsoGraph runs in switch-only mode.When running
explain-moduleon multiplex artifacts,feature_scores.parquetmust contain afeature_typecolumn ("switch"or"abundance"). This is populated automatically by all backends when multiplex channels are active.Trait and covariate analysis is only performed for columns that actually exist in the sample table.
exportexpects a dataset bundle that includes a gene table so the gene count can be reported.
Scale Considerations
The VAE backend is the recommended choice at high gene counts (6 000–12 000 genes, 25:1–50:1 genes-to-samples ratios). It has been validated on the
scale_v1suite with recovery ≥ 0.90 on all three scale fixtures.The optional
xxlarge_multiplex_v1fixture has 12,000 genes and 240 samples. It is generated only when explicitly requested withfixture_filter=xxlarge_multiplex_v1.The WGCNA backend uses blockwise mode automatically for datasets above 5 000 genes; edge tables are not populated in blockwise mode. At 12k multiplex scale it may require a larger
wgcna.timeout_secondssetting.
Reproducibility Design
Snapshot outputs are named deterministically by stage, fixture, backend, version, and seed.
The real-data freeze path caches sample selection, projected gene counts, transcript count partitions, and frozen fixtures under
benchmarks/cache/real_data/.Generated benchmark datasets and bulky per-fixture artifact directories are ignored by git; compact JSON reports under
artifacts/reports/are the intended tracked evidence.CI validates the supported Python range and the test suite on every push to
main.