Skip to main content

scvelo - stochastic single cell RNA velocity

Project description

PyPI Docs travis

scvelo is a scalable toolkit for estimating and analyzing stochastic RNA velocities in single cells.

RNA velocity is the time derivative of mRNA abundance obtained by distinguishing unspliced (precursor) from spliced (mature) mRNA, and serves as a predictive indicator for the future state of an individual cell. The main principles of RNA velocity estimation have been presented in velocyto (La Manno et al., 2018) and are based on a deterministic model of transcriptional dynamics. scvelo uses a stochastic formulation and incorporates intrinsic expression variability.

It is compatible with scanpy (Wolf et al., 2018). Making use of sparse implementation, iterative neighbors search and other techniques, it is remarkably efficient in terms of memory and runtime without loss in accuracy (<1GB and <1min for 30,000 cells on a MacBook Pro 2017 with 2.3 GHz i5).

Usage Principles

Install scvelo from PyPI using pip install scvelo.

Import scvelo (velocity specific workflows) and scanpy (basic workflows) as:

import scvelo as scv
import scanpy.api as sc

Read your data file (loom, h5ad, xlsx, csv, etc.) with adata = sc.read(filename, **params), apply some basic preprocessing (gene selection, normalization, etc.), e.g. using scv.pp.filter_and_normalize(adata, **params), compute moments with scv.pp.moments(adata, **params), and perform velocity estimation:

scv.tl.velocity(adata, mode='stochastic', **params)

The velocity vectors are translated into likely cell transitions with:

scv.tl.velocity_graph(adata, **params)

Finally the velocities can be projected and visualized in any embedding (e.g. UMAP) using:

scv.tl.velocity_embedding(adata, basis='umap', **params)
scv.pl.velocity_embedding(adata, basis='umap', **params)

I highly recommend going through the documentation and some exemplary notebooks.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for scvelo, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size scvelo-0.1.6-py3-none-any.whl (80.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size scvelo-0.1.6.tar.gz (29.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page