scanpy.external.tl.phate#
- scanpy.external.tl.phate(adata, n_components=2, *, k=5, a=15, n_landmark=2000, t='auto', gamma=1.0, n_pca=100, knn_dist='euclidean', mds_dist='euclidean', mds='metric', n_jobs=None, random_state=None, verbose=None, copy=False, **kwargs)[source]#
PHATE [Moon et al., 2019].
Potential of Heat-diffusion for Affinity-based Trajectory Embedding (PHATE) embeds high dimensional single-cell data into two or three dimensions for visualization of biological progressions.
For more information and access to the object-oriented interface, read the PHATE documentation. For tutorials, bug reports, and R/MATLAB implementations, visit the PHATE GitHub page. For help using PHATE, go here.
- Parameters:
- adata
AnnData Annotated data matrix.
- n_components
int(default:2) number of dimensions in which the data will be embedded
- k
int(default:5) number of nearest neighbors on which to build kernel
- a
int(default:15) sets decay rate of kernel tails. If None, alpha decaying kernel is not used
- n_landmark
int(default:2000) number of landmarks to use in fast PHATE
- t
int|str(default:'auto') power to which the diffusion operator is powered sets the level of diffusion. If ‘auto’, t is selected according to the knee point in the Von Neumann Entropy of the diffusion operator
- gamma
float(default:1.0) Informational distance constant between -1 and 1.
gamma=1gives the PHATE log potential,gamma=0gives a square root potential.- n_pca
int(default:100) Number of principal components to use for calculating neighborhoods. For extremely large datasets, using n_pca < 20 allows neighborhoods to be calculated in log(n_samples) time.
- knn_dist
str(default:'euclidean') recommended values: ‘euclidean’ and ‘cosine’ Any metric from
scipy.spatial.distancecan be used distance metric for building kNN graph- mds_dist
str(default:'euclidean') recommended values: ‘euclidean’ and ‘cosine’ Any metric from
scipy.spatial.distancecan be used distance metric for MDS- mds
Literal['classic','metric','nonmetric'] (default:'metric') Selects which MDS algorithm is used for dimensionality reduction.
- n_jobs
int|None(default:None) The number of jobs to use for the computation. If
None,sc.settings.n_jobsis used. If -1 all CPUs are used. If 1 is given, no parallel computing code is used at all, which is useful for debugging. For n_jobs below -1, (n_cpus + 1 + n_jobs) are used. Thus for n_jobs = -2, all CPUs but one are used- random_state
int|RandomState|None(default:None) Random seed. Defaults to the global
numpyrandom number generator- verbose
bool|int|None(default:None) If
Trueor anint/Verbosity≥ 2/hint, print status messages. IfNone,scanpy.settings.verbosityis used.- copy
bool(default:False) Return a copy instead of writing to
adata.- kwargs
Additional arguments to
phate.PHATE
- adata
- Return type:
- Returns:
Depending on
copy, returns or updatesadatawith the following fields.- X_phate
np.ndarray, (adata.obs, shape=[n_samples, n_components], dtypefloat) PHATE coordinates of data.
- X_phate
Examples
>>> from anndata import AnnData >>> import scanpy.external as sce >>> import phate >>> tree_data, tree_clusters = phate.tree.gen_dla( ... n_dim=100, ... n_branch=20, ... branch_length=100, ... ) >>> tree_data.shape (2000, 100) >>> adata = AnnData(tree_data) >>> sce.tl.phate(adata, k=5, a=20, t=150) >>> adata.obsm["X_phate"].shape (2000, 2) >>> sce.pl.phate(adata)