Skip to main content

MIOFlow

arXiv Latest PyPI version Twitter GitHub Stars

MIOFlow is a Python package for modeling and analyzing single-cell RNA-seq data using optimal flows. It leverages neural ordinary differential equations (neural ODEs) and optimal transport to reconstruct cell developmental trajectories from time-series scRNA-seq data.

Features

  • Trajectory inference using optimal transport and neural ODEs
  • GAGA embedding — geometric autoencoder that preserves PHATE distances in latent space
  • Gene-space decoding — map trajectories back to full gene expression via PCA inverse projection
  • Flexible I/O for AnnData and standard scRNA-seq formats

Installation

Install from PyPI

pip install MIOFlow

Install from GitHub (Development Version)

pip install git+https://github.com/yourusername/MIOFlow.git

Usage

Basic Workflow

from MIOFlow.gaga import Autoencoder, train_gaga_two_phase, train_valid_loader_from_pc
from MIOFlow.mioflow import MIOFlow

# 1. Train a GAGA autoencoder on PCA coordinates + PHATE distances
gaga_model = Autoencoder(input_dim=50, latent_dim=10)
train_loader, val_loader = train_valid_loader_from_pc(X_pca, D_phate, batch_size=64)
train_gaga_two_phase(gaga_model, train_loader, encoder_epochs=50, decoder_epochs=50)

# 2. Fit MIOFlow
mf = MIOFlow(
    adata,
    gaga_model=gaga_model,
    gaga_input_scaler=scaler,   # StandardScaler fitted on X_pca
    obs_time_key='day',
    n_epochs=200,
)
mf.fit()

# 3. Inspect results
print(mf.trajectories.shape)          # (n_bins, n_trajectories, latent_dim)
gene_traj = mf.decode_to_gene_space() # (n_bins, n_trajectories, n_genes)

Full worked examples are in the tutorials/ directory.

Citation

If you use MIOFlow in your research, please cite:

@misc{https://doi.org/10.48550/arxiv.2206.14928,
  doi = {10.48550/ARXIV.2206.14928},
  url = {https://arxiv.org/abs/2206.14928},
  author = {Huguet,  Guillaume and Magruder,  D. S. and Tong,  Alexander and Fasina,  Oluwadamilola and Kuchroo,  Manik and Wolf,  Guy and Krishnaswamy,  Smita},
  keywords = {Machine Learning (cs.LG),  FOS: Computer and information sciences,  FOS: Computer and information sciences},
  title = {Manifold Interpolating Optimal-Transport Flows for Trajectory Inference},
  publisher = {arXiv},
  year = {2022},
  copyright = {arXiv.org perpetual,  non-exclusive license}
}

License

MIOFlow is distributed under the terms of the Yale License.

Support

Acknowledgments

  • Built with PyTorch and torchdiffeq for neural ODE integration
  • Integrates with the scanpy / AnnData ecosystem for single-cell analysis
  • Optimal transport via the POT library
  • Geometric embedding via PHATE

Metadata

Release files for mioflow 0.1.14

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

Source distribution (sdist)

Source distribution for mioflow 0.1.14
File Size Uploaded
mioflow-0.1.14.tar.gz 20.8 kB Details

Built distribution (wheel)

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

Total release size: 43.4 kB

Release files / mioflow-0.1.14.tar.gz

Download URL mioflow-0.1.14.tar.gz
Size 20.8 kB
Tags Source
SHA-256 checksum
How to use checksums
736c29b9175443060ba1bac3eb7f98753414c310cccdc8f3c64fa895ffc83cb0
BLAKE2b-256 checksum
How to use checksums
453c714cb85acbfc1f43e40a80b8dfdbe4340aa8be9deef3fb3b991324d5f707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release files / mioflow-0.1.14-py3-none-any.whl

Download URL mioflow-0.1.14-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d067e77074b05295ce4ed3857b912fc5559c4e592e82fdb465e8bbd5684ca2a7
BLAKE2b-256 checksum
How to use checksums
f185074c485aa1429421dc9b12ec7930ab6d8df34cd174dfb31deb4a426b55bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release history Release notifications | RSS feed

This release

0.1.14 This release

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

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