v0.1.4
[0.1.4] — 2026-05-08
IsoGraph v0.1.4 introduces multi-channel module discovery, extending IsoGraph beyond isoform-switch-only networks to jointly model isoform-switch coordinates and gene abundance. This release adds multiplex feature graphs, gene channel-role classification, synthetic multiplex benchmarks, calibrated edge policies, WGCNA comparison diagnostics, and multiplex-aware explanation outputs. It also improves repository hygiene by removing bulky generated artifacts from version control while retaining compact benchmark evidence.
Added
-
Multi-channel multiplex module discovery — IsoGraph now models gene abundance as a distinct feature channel alongside isoform-switch coordinates. Multi-isoform genes can contribute both switch and abundance features, while single-isoform genes contribute abundance-only features. Module discovery operates on a typed multiplex feature graph that supports switch–switch, switch–abundance, and abundance–abundance edge policies, enabling discovery of switch-dominant, abundance-dominant, coupled, and discordant modules.
-
Gene channel-role classification —
FitArtifacts.module_gene_rolesnow classifies module genes as:switch_onlyabundance_onlycoupleddiscordant
Roles are computed with
compute_module_gene_roles()inmodels/base.py. -
multiplex_v1synthetic benchmark suite — added four multiplex benchmark fixtures:toy_multiplex_v1medium_multiplex_v1noisy_multiplex_v1large_multiplex_v1
These include planted modules, switch/abundance truth tables, and channel-role truth tables generated by
generate_multiplex_suite()inbenchmarks/synthetic.py. -
Multiplex benchmark runner integration —
benchmark()now dispatchesmultiplex_v1fixtures and reports switch recall, abundance recall, and overall module recovery by fixture and backend. -
Calibrated multiplex edge policies — VAE, graph, and latent configs now support:
allow_abundance_abundancealpha_switchalpha_abundancealpha_abundance_grid
Tuned configs are available as:
stage9_multiplex_vaestage9_multiplex_graphstage9_multiplex_latent
-
WGCNA multiplex comparison config and diagnostics — added
stage9_multiplex_wgcnaand WGCNA calibration reports, including selected soft-threshold power, scale-free topology fit R², module count, and unassigned-gene count. -
Role-aware recovery metrics — multiplex benchmark JSON now reports recall for
switch_only,abundance_only,coupled, anddiscordantgenes, along with giant-component diagnostics. -
Multiplex stress reporting scripts — added:
scripts/stress_multiplex_summary.pyfor backend-vs-WGCNA summariesscripts/stress_multiplex_explain.pyfor Stage 8 explanation accuracy checks on multiplex artifacts
-
Extra-large multiplex stress fixture — added optional
xxlarge_multiplex_v1, which generates 12,000 genes, 240 samples, and 16 planted multiplex modules only when explicitly requested. Added configs:stress_multiplex_xxlarge_vaestress_multiplex_xxlarge_wgcna
-
Per-channel attribution in
explain-module—gene_driver_table, VAE decoder attribution output (vae_drivers.parquet), and Captum Integrated Gradients output (ig_attributions.parquet) now includefeature_idandfeature_type. Per-gene deduplication retains the channel with the strongest signal. -
Configurable WGCNA timeout —
WgcnaModelConfig.timeout_secondsnow supports long-running large multiplex comparisons.
Changed
-
Stage 8D/8E accuracy scripts are now multiplex-aware — explanation scoring now detects feature-score sample columns and collapses multiplex feature rows back to gene-level metrics before evaluating decoder Jacobian or Integrated Gradients outputs.
-
Generated artifact policy updated — bulky generated benchmark directories and dataset bundles are now ignored by git. Compact benchmark evidence remains tracked as JSON under
artifacts/reports/.
Benchmarks
-
Standard multiplex stress — VAE recovered the medium, noisy, and large multiplex fixtures with recovery scores of
1.0,0.9885057471264368, and0.9977777777777778, respectively. Role-aware recall was1.0acrossswitch_only,abundance_only,coupled, anddiscordantgenes for these fixtures. Graph and latent backends cleared the Stage 9 gates without giant-component failures. WGCNA remains available as the comparison backend. -
Explain-module multiplex stress — Stage 8 explanation metrics remain accurate on multiplex artifacts. VAE, graph, and latent achieved
switch_strength_auc=1.0wherever defined, while WGCNA ranged from0.993174484983867to1.0across stress fixtures. -
12k multiplex stress — on
xxlarge_multiplex_v1, VAE recovered the correct16planted modules with recovery0.9266666666666667. WGCNA achieved similar recovery,0.9191666666666665, but detected1,898modules, indicating severe over-segmentation.
Removed
- Tracked bulky generated artifacts — previously tracked benchmark payload directories and generated dataset bundles were removed from version control. Compact JSON reports remain trackable.
Pull Requests
- [#12] Add multiplex abundance filtering and benchmarks
- [#13] Update for xxlarge multiplex stress benchmark and ignoring artifacts
Full Changelog: v0.1.3...v0.1.4