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)
PHATE [Moon17].
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
AnnData
Annotated data matrix.
- n_components :
int
int
(default:2
) number of dimensions in which the data will be embedded
- k :
int
int
(default:5
) number of nearest neighbors on which to build kernel
- a :
int
int
(default:15
) sets decay rate of kernel tails. If None, alpha decaying kernel is not used
- n_landmark :
int
int
(default:2000
) number of landmarks to use in fast PHATE
- t :
int
|str
Union
[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
float
(default:1.0
) Informational distance constant between -1 and 1.
gamma=1
gives the PHATE log potential,gamma=0
gives a square root potential.- n_pca :
int
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
str
(default:'euclidean'
) recommended values: ‘euclidean’ and ‘cosine’ Any metric from
scipy.spatial.distance
can be used distance metric for building kNN graph- mds_dist :
str
str
(default:'euclidean'
) recommended values: ‘euclidean’ and ‘cosine’ Any metric from
scipy.spatial.distance
can be used distance metric for MDS- mds : {‘classic’, ‘metric’, ‘nonmetric’}
Literal
[‘classic’, ‘metric’, ‘nonmetric’] (default:'metric'
) Selects which MDS algorithm is used for dimensionality reduction.
- n_jobs :
int
|None
Optional
[int
] (default:None
) The number of jobs to use for the computation. If
None
,sc.settings.n_jobs
is 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 :
None
|int
|RandomState
Union
[None
,int
,RandomState
] (default:None
) Random seed. Defaults to the global
numpy
random number generator- verbose :
bool
|int
|None
Union
[bool
,int
,None
] (default:None
) If
True
or anint
/Verbosity
≥ 2/hint
, print status messages. IfNone
,sc.settings.verbosity
is used.- copy :
bool
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 updatesadata
with 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)