CellRank - Probabilistic Fate Mapping using RNA Velocity¶

CellRank is a toolkit to uncover cellular dynamics based on scRNA-seq data with RNA velocity annotation, see [Manno18] and [Bergen20]. CellRank models cellular dynamics as a Markov chain, where transition probabilities are computed based on RNA velocity and transcriptomic similarity, taking into account uncertainty in the velocities and the stochastic nature of cell fate decisions. The Markov chain is coarse-grained into a set of macrostates which represent initial & terminal states as well as transient intermediate states. For each transient cell, i.e. for each cell that’s not assigned to a terminal state, we then compute its fate probability of it reaching any of the terminal states. We show an example of such a fate map in the figure above, which has been computed using the data of [Panc19].
CellRank scales to large cell numbers, is fully compatible with scanpy and scvelo and is easy to use. To get started, see our tutorial.
Latest additions¶
1.1.0 2020-11-17¶
This release includes:
Bugfixes
Fix not vendorizing correct
msmtools
which sometimes cause densification of a sparse matrix..Bump scanpy version requirement to 1.6 to fix plotting PR 444.
Additions
cellrank.tl.lineage_drivers()
computes p-values for the identified driver genes now, using either a Fisher-transformation to approximate the distribution of the test statistic under the null hypothesis or an exact, permutation based test. Corrects for multiple-testing.cellrank.tl.kernels.VelocityKernel.compute_transition_matrix()
now allows different metrics to be used to compare velocity vectors with expression-differences across neighboring cells. We add cosine-correlation and dot-product schemes and we allow the user to input their own scheme. It has been shown recently by [Li2020] that the choice of metric can lead to slightly different results. Users can now also supply their own scheme as long as it follows the signature ofcellrank.tl.kernels.SimilaritySchemeABC
.cellrank.datasets.reprogramming()
has been added to allow for easy reproducibility of the time & memory benchmarking results in our CellRank preprint. This is a reprogramming dataset from [Morris18].
CellRank’s key applications¶
compute initial & terminal as well as intermediate macrostates of your biological system
infer fate probabilities towards the terminal states for each individual cell
visualize gene expression trends along specific linegeages while accounting for the continous nature of fate determination
identify potential driver genes for each identified cellular trajectory
Why is it called “CellRank”?¶
CellRank does not rank cells, we gave the package this name because just like Google’s original PageRank algorithm, it works with Markov chains to aggregate relationships between individual objects (cells vs. websites) to learn about more global properties of the underlying dynamics (initial & terminal states and fate probabilities vs. website relevance).