VelOT Documentation

License PyPI TestPyPI Documentation

VelOT (Velocity via Optimal Transport) is a kinetic-free framework for estimating RNA velocity from single-cell transcriptomic data.

VelOT pipeline overview

Why VelOT?

Existing RNA velocity methods (velocyto, scVelo) rely on modeling the molecular kinetics of splicing and degradation, requiring spliced/unspliced count matrices and assumptions about transcriptional steady states that frequently fail in complex biological systems.

VelOT takes a fundamentally different approach. It treats velocity inference as an optimal transport problem in gene expression space:

  • Kinetic-free: no spliced/unspliced counts needed — works with any gene expression matrix.

  • Principled directionality: pseudotime-informed cost matrices enforce biologically consistent forward transport.

  • Continuous velocity fields: a neural network smoothing step produces a velocity function that can be evaluated at any point in expression space, not just at observed cell positions.

  • Robust evaluation: built-in metrics (ICCoh, CBDir) and a benchmarking framework for systematic velocity quality assessment.

Key Features

🔬 Preprocessing

Automated pipeline with pseudotime via Diffusion Pseudotime

🪟 Spatial-temporal windowing

Two-level strategy ensuring local, biologically meaningful OT

🚚 Optimal transport velocity

Structured cost matrices with pseudotime and KNN penalties

🧠 Neural smoothing

MLP-based continuous velocity field with confidence weighting

📊 Visualization

Stream plots, trajectory analysis, metric dashboards

📏 Evaluation

ICCoh, CBDir metrics with built-in benchmarking

Quick Example

import velot

adata = velot.datasets.pancreas()
adata = velot.pp.prepare(adata, root_cluster="Ductal", cluster_key="clusters")
velot.tl.velocity(adata)
velot.pl.velocity_stream(adata, color="clusters")

If you use VelOT in your research, please cite:

@article{velot2026,
title   = {VelOT: kinetic-free RNA velocity inference via optimal transport,
           flow-field smoothing, and VAMP coarse-graining of cellular dynamics},
author  = {Rincon de la Rosa, Lucas},
journal = {bioRxiv},
year    = {2026},
doi     = {10.1101/2026.XX.XX.XXXXXX}
}

Indices and tables