single cell velocity analysis
Project description
TIVelo: RNA velocity estimation leveraging cluster-level trajectory inference
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.
Demo
The instructions for running TIVelo for different kinds of datasets can be found in examples.
Reproducibility
To reproduce our results, please refer to the folder notebooks or our tutorial website.
Installation
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.
Step 1: Create and Activate the Conda Environment
First, create a new Conda environment with Python 3.9:
conda create -n tivelo python=3.9 -y
conda activate tivelo
Step 2: Install Dependencies
We 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.
PyTorch
Install PyTorch along with torchvision, torchaudio, and CUDA support:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y
Numba
Install 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" -y
For CUDA 11, install the following:
conda install -c conda-forge cudatoolkit "cuda-version>=11.2,<12.0" -y
Note: You do not need to install the CUDA SDK from NVIDIA.
Cpu version
conda install numba
Scanpy
Install Scanpy along with additional dependencies:
conda install -c conda-forge scanpy python-igraph leidenalg -y
scVelo
Install scVelo:
pip install scvelo==0.3.1
Optional dependencies for directed PAGA and Louvain modularity:
pip install igraph louvain
Optional dependencies for fast neighbor search via hnswlib:
pip install pybind11 hnswlib
Step 3: Install TIVelo
Finally, install TIVelo:
pip install tivelo
JupyterLab
To run the tutorials in a notebook locally, please install JupyterLab:
conda install jupyterlab -y
With these steps, TIVelo and its dependencies will be installed and ready for use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tivelo-0.1.3.tar.gz.
File metadata
- Download URL: tivelo-0.1.3.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ca9c8b06fe2fcf4f8fd277321b7d39621eb358f952c1d5de13629a7365e1a54
|
|
| MD5 |
e0091cdebc6af8a7208fd455302b6187
|
|
| BLAKE2b-256 |
4c4af00947ac48ef568e3e91ec6da2c7867b90ef5cf0c2f0a9d43432f2ebdbde
|
Provenance
The following attestation bundles were made for tivelo-0.1.3.tar.gz:
Publisher:
publish.yml on cuhklinlab/TIVelo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tivelo-0.1.3.tar.gz -
Subject digest:
1ca9c8b06fe2fcf4f8fd277321b7d39621eb358f952c1d5de13629a7365e1a54 - Sigstore transparency entry: 192792286
- Sigstore integration time:
-
Permalink:
cuhklinlab/TIVelo@f38891786f582056b9b9b3ac1b2bf34f288190e2 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/cuhklinlab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f38891786f582056b9b9b3ac1b2bf34f288190e2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tivelo-0.1.3-py3-none-any.whl.
File metadata
- Download URL: tivelo-0.1.3-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f531dd0ceffff8394089756a1e8fcd001d9dd242c405bf1d7103c4d9d4e0a32c
|
|
| MD5 |
c56970e38f45e0eb4ad2ab443ed4246f
|
|
| BLAKE2b-256 |
1ebbcc6c2824f429058b7bec746b58240edaa613d42e56c081a8444f8330512b
|
Provenance
The following attestation bundles were made for tivelo-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on cuhklinlab/TIVelo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tivelo-0.1.3-py3-none-any.whl -
Subject digest:
f531dd0ceffff8394089756a1e8fcd001d9dd242c405bf1d7103c4d9d4e0a32c - Sigstore transparency entry: 192792287
- Sigstore integration time:
-
Permalink:
cuhklinlab/TIVelo@f38891786f582056b9b9b3ac1b2bf34f288190e2 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/cuhklinlab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f38891786f582056b9b9b3ac1b2bf34f288190e2 -
Trigger Event:
release
-
Statement type: