v0.1.3
[0.1.3] — 2026-05-03
IsoGraph v0.1.3 adds a full module interpretation workflow for explaining isoform-switch networks after model fitting. This release introduces transcript-level driver tables, publication-ready explanation plots, GTF-based structural annotations, and VAE-based attribution methods. It also removes the experimental gpu_latent backend after benchmarking showed poor module recovery relative to regular latent implementation (CPU only).
Added
- Module explanation CLI: added
isograph explain-moduleto explain fitted modules at transcript-feature resolution. Outputs includegene_driver_table.parquet,transcript_polarity_table.parquet,high_vs_low_table.parquet, and a sharedmodule_explanation_manifest.json. Python API:isograph.explain.explain_module. - Publication-ready explanation plots: added optional
--plotsupport for top-driver barplots, transcript usage gradient plots, and positive/negative driver heatmaps. Output format is controlled with--output-format png|pdf. - Structural transcript-switch annotation: added
isograph annotate-structureto annotate transcript switch pairs using GTF-derived structural labels, including first/last exon changes, CDS/UTR shifts, biotype switches, and shared exon fraction. Supports GENCODE and Ensembl GTF conventions, with optional GTF parse caching via--gtf-cache. - Annotation-aware explanations:
isograph explain-modulecan now incorporate structural annotations via--annotation-table. - VAE decoder attribution: added
--vae-attributionto compute finite-difference decoder Jacobian scores for high-confidence module drivers. Requiresvae_checkpoint.ptin the artifact directory and writesvae_drivers.parquetper module. - Captum Integrated Gradients attribution: added
--integrated-gradientsfor encoder-based attribution of module eigengene prediction to transcript features. Requirespip install isograph[torch-explain]and writesig_attributions.parquetper module. Supportszeroandmeanbaselines.
Changed
- Expanded backend support in
fit:isograph fitnow supports--backend baseline|latent|graph|vae|wgcna, with VAE as the default backend infit.yaml. - Improved CUDA handling: added device selection for VAE/GPU latent models and fixed VAE reparameterization on CUDA.
- Clearer dependency guidance: added the
mpmathdependency and clarified PyTorch installation instructions. - Latent backend warning: documentation now notes that the CPU latent backend forms a feature-by-feature covariance matrix and may become memory-prohibitive for large feature spaces; VAE is recommended for large datasets.
Removed
- Removed
gpu_latentbackend: benchmarking showed substantially worse module recovery than the CPU latent backend (FA), with no runtime advantage and high GPU memory requirements. Usebackend=vaeinstead for large datasets.
Pull Requests
- #3 Add device selection to VaeNetworkModel and GpuLatentNetworkModel
- #4 Add mpmath dependency and clarify PyTorch install
- #5 Fix VAE reparameterization on CUDA
- #6 Remove gpu_latent backend; add latent memory-scale warnings
- #7 Add Stage 8A module explanation
- #8 Add Stage 8B publication-ready module explanation plots
- #9 Add Stage 8C GTF-based structural annotation
- #10 Add Stage 8D VAE attribution
- #11 Add Stage 8E Captum Integrated Gradients encoder attribution
Full Changelog: v0.1.2...v0.1.3