episcanpy.api.tl.diffmap¶
- episcanpy.api.tl.diffmap(adata, n_comps=15, copy=False)¶
Diffusion Maps [Coifman05] [Haghverdi15] [Wolf18].
Diffusion maps [Coifman05] has been proposed for visualizing single-cell data by [Haghverdi15]. The tool uses the adapted Gaussian kernel suggested by [Haghverdi16] in the implementation of [Wolf18].
The width (“sigma”) of the connectivity kernel is implicitly determined by the number of neighbors used to compute the single-cell graph in
neighbors()
. To reproduce the original implementation using a Gaussian kernel, use method==’gauss’ inneighbors()
. To use an exponential kernel, use the default method==’umap’. Differences between these options shouldn’t usually be dramatic.- Parameters
- adata :
AnnData
Annotated data matrix.
- n_comps : int, optional (default: 15)
The number of dimensions of the representation.
- copy : bool (default: False)
Return a copy instead of writing to adata.
- adata :
- Returns
Depending on copy, returns or updates adata with the following fields.
- X_diffmap
numpy.ndarray
(adata.obsm) Diffusion map representation of data, which is the right eigen basis of the transition matrix with eigenvectors as columns.
- diffmap_evals
numpy.ndarray
(adata.uns) Array of size (number of eigen vectors). Eigenvalues of transition matrix.
- X_diffmap