scvi.model.utils.mde#

scvi.model.utils.mde(data, device=None, **kwargs)[source]#

Util to run pymde.preserve_neighbors() for visualization of scvi-tools embeddings.

Parameters:
Returns:

The pymde embedding, defaults to two dimensions.

Return type:

ndarray

Notes

This function is included in scvi-tools to provide an alternative to UMAP/TSNE that is GPU- accelerated. The appropriateness of use of visualization of high-dimensional spaces in single- cell omics remains an open research questions. See:

Chari, Tara, Joeyta Banerjee, and Lior Pachter. “The specious art of single-cell genomics.” bioRxiv (2021).

If you use this function in your research please cite:

Agrawal, Akshay, Alnur Ali, and Stephen Boyd. “Minimum-distortion embedding.” arXiv preprint arXiv:2103.02559 (2021).

Examples

>>> adata = anndata.read_h5ad(path_to_anndata)
>>> scvi.model.SCVI.setup_anndata(adata, batch_key="batch")
>>> vae = scvi.model.SCVI(adata)
>>> vae.train()
>>> adata.obsm["X_scVI"] = vae.get_latent_representation()
>>> adata.obsm["X_mde"] = scvi.model.utils.mde(adata.obsm["X_scVI"])