RNA velocity inference is a valuable tool for understanding cell development, differentiation, and disease progression. However, existing RNA velocity inference methods typically rely on explicit assumptions of ordinary differential equations (ODE), which prohibits them to capture complex transcriptome expression patterns. In this study, we introduce TIVelo, a novel RNA velocity estimation approach that first determines the velocity direction at the cell cluster level based on trajectory inference, before estimating velocity for individual cells. TIVelo calculates an orientation score to infer the direction at the cluster level without an explicit ODE assumption, which effectively captures complex transcriptional patterns, avoiding potential inconsistencies in velocity estimation for genes that do not follow the simple ODE assumption. We validated the effectiveness of TIVelo by its application to 16 real datasets and the comparison with five benchmarking methods.
The instructions for running TIVelo for different kinds of datasets can be found in examples.
To reproduce our results, please refer to the folder notebooks or our tutorial website.
All datasets used in this research are openly accessible to the public. To achieve the datasets used in this research, please refer to our Figshare page. The datasets in Figshare are the version after scVelo standard preprocessing pipeline.
TIVelo requires Python 3.8 or later. We recommend using Miniconda for managing the environment. The typical time for installing our package is 3 minutes.
First, create a new Conda environment with Python 3.9:
conda create -n tivelo python=3.9 -y
conda activate tiveloWe have published the TIVelo package on PyPI. To ensure a smooth and stable installation process, we recommend installing large dependencies separately before installing TIVelo in a Conda environment.
Install PyTorch along with torchvision, torchaudio, and CUDA support:
conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.1 -c pytorch -c nvidia -yInstall Numba:
To enable CUDA GPU support for Numba, install the latest NVIDIA graphics drivers for your platform (the open-source Nouveau drivers do not support CUDA). Then install the CUDA Toolkit package.
For CUDA 12, install the following:
conda install -c conda-forge cuda-nvcc cuda-nvrtc "cuda-version>=12.0" -yFor CUDA 11, install the following:
conda install -c conda-forge cudatoolkit "cuda-version>=11.2,<12.0" -yNote: You do not need to install the CUDA SDK from NVIDIA.
Cpu version
conda install numbaInstall Scanpy along with additional dependencies:
conda install -c conda-forge scanpy python-igraph leidenalg -yInstall scVelo:
pip install scvelo==0.3.1Optional dependencies for directed PAGA and Louvain modularity:
pip install igraph louvainOptional dependencies for fast neighbor search via hnswlib:
pip install pybind11 hnswlibFinally, install TIVelo:
pip install tiveloTo run the tutorials in a notebook locally, please install JupyterLab:
conda install jupyterlab -yWith these steps, TIVelo and its dependencies will be installed and ready for use.
Ge, M., Miao, J., Qi, J. et al. TIVelo: RNA velocity estimation leveraging cluster-level trajectory inference. Nat Commun 16, 6258 (2025). https://doi.org/10.1038/s41467-025-61628-x
