scvelo.utils.get_transition_matrix(adata, vkey='velocity', basis=None, backward=False, self_transitions=True, scale=10, perc=None, threshold=None, use_negative_cosines=False, weight_diffusion=0, scale_diffusion=1, weight_indirect_neighbors=None, n_neighbors=None, vgraph=None, basis_constraint=None)

Computes cell-to-cell transition probabilities

\[\tilde \pi_{ij} = \frac1{z_i} \exp( \pi_{ij} / \sigma),\]

from the velocity graph \(\pi_{ij}\), with row-normalization \(z_i\) and kernel width \(\sigma\) (scale parameter \(\lambda = \sigma^{-1}\)).

adata : AnnData

Annotated data matrix.

vkey : str (default: ‘velocity’)

Name of velocity estimates to be used.

basis : str or None (default: None)

Restrict transition to embedding if specified

backward : bool (default: False)

Whether to use the transition matrix to push forward (False) or to pull backward (True)

self_transitions : bool (default: True)

Allow transitions from one node to itself.

scale : float (default: 10)

Scale parameter of gaussian kernel.

perc : float between 0 and 100 or None (default: None)

Determines threshold of transitions to include.

use_negative_cosines : bool (default: False)

If True, negatively similar transitions are taken into account.

weight_diffusion : float (default: 0)

Relative weight to be given to diffusion kernel (Brownian motion)

scale_diffusion : float (default: 1)

Scale of diffusion kernel.

weight_indirect_neighbors : float between 0 and 1 or None (default: None)

Weight to be assigned to indirect neighbors (i.e. neighbors of higher degrees).

n_neighbors : int (default: None)

Number of nearest neighbors to consider around each cell.

vgraph : csr matrix or None (default: None)

Velocity graph representation to use instead of adata.uns[f’{vkey}_graph’].


Returns sparse matrix with transition probabilities.