Skip to main content

UniTVelo for RNA Velocity Analysis

Temporally unified RNA velocity for single cell trajectory inference (UniTVelo) is implementated on Python 3 and TensorFlow 2. The model estimates velocity of each gene and updates cell time based on phase portraits concurrently. human bone marrow velocity stream

The major features of UniTVelo are,

  • Using spliced RNA oriented design to model RNA velocity and transcription rates
  • Introducing a unified latent time (Unified-time mode) across whole transcriptome to incorporate stably and monotonically changed genes
  • Retaining gene-spcific time matrics (Independent mode) for complex datasets

UniTVelo has proved its robustness in 10 different datasets. Details can be found via our manuscript in bioRxiv which is currently under review (UniTVelo).

Installation

GPU Acceleration

UniTVelo is designed based on TensorFlow's automatic differentiation architecture. Please make sure TensorFlow 2 and relative CUDA dependencies are correctly installed.

Use the following scripts to confirm TensorFlow is using the GPU.

import tensorflow as tf
print ("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

If GPU is not available, UniTVelo will automatically switch to CPU for model fitting or it can be spcified in config.py (see Getting Started below).

Main Module

(Optional) Create a separate conda environment for version control and to avoid potential conflicts.

conda create -n unitvelo python=3.7
conda activate unitvelo

UniTVelo package can be conveniently installed via PyPI or directly from GitHub repository.

pip install unitvelo

or

pip install git+https://github.com/StatBiomed/UniTVelo

Getting Started

Public Datasets

Examples of UniTVelo and steps for reproducible results are provided in Jupyter Notebook under notebooks folder. Specifically, please refer to records analyzing Mouse Erythroid and Human Bone Marrow datasets.

UniTVelo has proved its performance through 10 different datasets and 4 of them have been incorporated within scVelo package, see datasets. Others can be obtained via link.

RNA Velocity on New Dataset

UniTVelo provides an integrated function for velocity analysis by default whilst specific configurations might need to be adjusted accordingly.

  1. Import package
import unitvelo as utv
  1. Sub-class and override base configuration file (here lists a few frequently used), please refer config.py for detailed arguments.
velo = utv.config.Configuration()
velo.R2_ADJUST = True 
velo.IROOT = None
velo.FIT_OPTION = '1'
velo.GPU = 0
  • Arguments:
    • -- velo.R2_ADJUST (bool), linear regression R-squared on extreme quantile (default) or full data (adjusted)
    • -- velo.IROOT (str), specify root cell cluster would enable diffusion map based time initialization, default None
    • -- velo.FIT_OPTION (str), '1' Unified-time mode (default), '2' Independent mode
    • -- velo.GPU (int), specify the GPU card used for fitting, -1 will switch to CPU mode, default 0.
  1. Run model (label refers to column name in adata.obs specifying celltypes)
adata = utv.run_model(path_to_adata, label, config_file=velo)
scv.pl.velocity_embedding_stream(adata, color=label, dpi=100, title='')
  1. Evaluation metrics (Optional)
# Cross Boundary Direction Correctness
# Ground truth should be given via `cluster_edges`
metrics = {}
metrics = utv.evaluate(adata, cluster_edges, label, 'velocity')

# Latent time estimation
scv.pl.scatter(adata, color='latent_time', color_map='gnuplot', size=20)

# Phase portraits for individual genes (experimental)
utv.pl.plot_range(gene_name, adata, velo, show_ax=True, time_metric='latent_time')

Metadata

Release files for unitvelo 0.2.5.2

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

Source distribution (sdist)

Source distribution for unitvelo 0.2.5.2
File Size Uploaded Provenance Actions
unitvelo-0.2.5.2.tar.gz 35.5 kB Without provenance Details for unitvelo-0.2.5.2.tar.gz

Built distribution (wheel)

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

Total release size: 74.2 kB

Release files / unitvelo-0.2.5.2.tar.gz

Download URL unitvelo-0.2.5.2.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
30e09218c5de9452e5f0c74287fe3a3775b2739c1a162f25be6e4a1c36770ddb
BLAKE2b-256 checksum
How to use checksums
05c373151ce261fd8a41c8fe7b51f41181c01c6af3e40f8068c04148f1aa6a4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release files / unitvelo-0.2.5.2-py3-none-any.whl

Download URL unitvelo-0.2.5.2-py3-none-any.whl
Size 38.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44e74ee6501eaca98f8236d05e8ab6cfa6718d3e9d82d0f0598c22e5b48101f8
BLAKE2b-256 checksum
How to use checksums
5e5d0a9cdd47e480c9311fa1bb3c670a43762fd367f23d9bd45f6f0eab8311c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Security for unitvelo 0.2.5.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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