This release includes some major additions which make CellRank more applicable with and without RNA velocity information. In particular, it includes:
Add new kernel
cellrank.tl.kernels.CytoTRACEKernelwhich computes cell-cell transition probabilities based on the CytoTRACE score [Gulati et al., 2020], a measure of differentiation potential, PR 527.
cellrank.tl.kernels.PseudotimeKerneland add hard thresholding scheme inspired by [Setty et al., 2019], a soft thresholding scheme inspired by [Stassen et al., 2021] and a custom scheme when computing the transition matrix, see e.g.
Add more flexibility to
cellrank.tl.kernels.ConnectivityKernel, allowing it to use any cell-cell similarities from
anndata.AnnData.obsp, such as spatial similarities from
squidpy[Palla et al., 2021] PR 501.
Add 2 new tutorials:
Add projection of transition matrix onto an embedding
Add checks for transition matrix irreducibility PR 516.
Speed-up stationary distribution calculation in
This release includes:
Completely refactored the underlying code base of GPCCA and set it up as it’s own package called pyGPCCA with documentation and an example. Going forwards, this will ensure that one of the “engines” of CellRank is also easy to maintain to extend. Further, this will make CellRank’s installation more convenient by not needing to vendorize additional dependencies PR 472.
Fix a bug when computing the Schur decomposition for reducible Markov chains (Schur vectors appear to not be D-orthogonal). GPCCA requires the leading Schur vectors to be orthogonal w.r.t. a symmetric, positive definite matrix \(D\) PR 453.
Fix not falling back to
jaxis found when using
This release includes:
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 [Li et al., 2021] 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 of
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 [Biddy et al., 2018].
Fix not vendorizing correct
msmtoolswhich sometimes caused densification of a sparse matrix.
Bump scanpy version requirement to 1.6 to fix plotting PR 444.
Fix a bug when subsetting
Add renaming terminal states
Enable negative binomial distribution for
Remove previously deprecated functions
cellrank.ul.models.FailedModelinspired by the maybe monad
Allow returning models when doing bulk fitting
Various minor bugfixes
Add installation options for PETSc and SLEPc
Add iterative solver for absorption probabilities
Fix docstring issues
Fix installation by including future-fstrings
Initial beta pre-release