Skip to main content

IsoVita

Interpretable detection of temporal variation in isoform composition.

Citation: TBD.

IsoVita learns one interpretable transcript balance per gene, then tests its association with age using complementary discrete (changepoint) and continuous (spline) tests. Both use selection-aware age permutations and separate Benjamini–Hochberg correction. A gene may be detected by either or both.

Installation

Requires Python 3.10-3.12.

pip install isovita

Optional extras: isovita[adata] for AnnData input and isovita[notebook] for Jupyter. The supported IsoPlex dependency requires NumPy <2 and pandas <3.

Quick start

Prepare two tables:

  • TPM: gene_id, unique transcript_id, then sample columns containing finite, nonnegative transcript TPM.
  • Metadata: unique sample_id and finite numeric age, with rows in exactly the same order as the TPM sample columns.

Remove missing/empty IDs and nonfinite ages before analysis. Use consistent age units.

import pandas as pd
from isovita import (
    IsoVitaConfig, PermutationInferenceConfig,
    run_isovita_pipeline, save_isovita_pipeline_outputs,
)

tpm = pd.read_csv("tpm.tsv", sep="\t")
metadata = pd.read_csv("metadata.tsv", sep="\t")
config = IsoVitaConfig(
    inference=PermutationInferenceConfig(n_permutations=5000, random_seed=17)
)
result = run_isovita_pipeline(
    tpm=tpm, metadata=metadata,
    branches=("discrete", "continuous"), config=config, n_jobs=1,
)
print(result.final_features)
save_isovita_pipeline_outputs(result, "isovita_results")

The self-contained quick-start notebook demonstrates preparation, inference, balance interpretation, plotting, and optional windows using synthetic data. Its 99 permutations are for demonstration only. After installing the notebook extra, register a kernel from the same Python environment:

python -m ipykernel install --user --name isovita --display-name "Python (IsoVita)"

For raw expression and transcript-to-gene mapping, use prepare_isovita_inputs_from_expression. Expression has tx_id plus sample columns; the mapping has tx_id and gene_id. The function aligns samples, annotates genes, and retains postnatal samples by default, returning .tpm, .metadata, and .summary. prepare_isovita_inputs accepts AnnData obsm["abundance"]; see isovita-prepare --help for the preparation CLI.

Results

Attribute Contents
balance_summary, balance_loadings Selected A/B transcript groups, PC1 loadings, and fit diagnostics.
balance_feature_matrix Genes × samples; natural-log ratio log(GM(A) / GM(B)).
discrete_trajectory_results Changepoints, effects, statistics, and p/q values.
continuous_trajectory_results Spline statistics, fit diagnostics, and p/q values.
gene_trajectory_summary, final_features Combined global evidence and ranked discoveries.

p_value is selection-aware; analytic_p_value is diagnostic only. Check tested and balance status. Significant subsets are available in the corresponding *_trajectory_candidates tables.

Optional age windows

from dataclasses import replace
from isovita import WindowConfig

window_result = run_isovita_pipeline(
    tpm=tpm, metadata=metadata,
    branches=("discrete", "continuous", "localized"),
    config=replace(config, windows=WindowConfig(edges=(20, 40, 60, 85))),
)

The localized flag runs both tests within predefined windows. Balances and IsoPlex membership are learned globally; permutations shuffle ages across the full cohort and relearn the balance. BH correction pools gene × window tests separately for each detector. Intervals are left-closed/right-open, except the final upper edge is included. Small or degenerate windows are untestable.

Results appear in localized_discrete_results and localized_continuous_results and their candidate tables; they do not enter final_features.

Metadata

Release files for isovita 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isovita 0.1.0
File Size Uploaded
isovita-0.1.0.tar.gz 286.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for isovita 0.1.0
File Interpreter ABI Platform
isovita-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 326.9 kB

Release files / isovita-0.1.0.tar.gz

Download URL isovita-0.1.0.tar.gz
Size 286.9 kB
Tags Source
SHA-256 checksum
How to use checksums
45267e154217bec459b7df9d015492dc35685a175f384b2b44d22469baa32d42
BLAKE2b-256 checksum
How to use checksums
723533e6e24bfccaec08a46d3a61ebf0bba711fc6ef33c64658e3ab95fca5fba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / isovita-0.1.0-py3-none-any.whl

Download URL isovita-0.1.0-py3-none-any.whl
Size 40.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e936ac650c1bf76e74f11a36dfc8a4d3d2327f2ccd7d95eac2eadfb51c1bb83
BLAKE2b-256 checksum
How to use checksums
ed6f4e5909dff69fb596b461e3a2a5655a0c899f1fe9d65b32f432691350b8d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page