labels_key: str
Provide a labels key for known cell type annotations.
unlabeled_category: str
Value used for unlabeled cells in labels_key used to setup AnnData with scvi.
n_samples_per_label: int
Number of subsamples for each label class to sample per epoch. By default, there is no label subsampling.
n_layers: int
Number of layers in the neural network.
n_latent: int
Dimensionality of the latent space in the neural network.
n_hidden: int
Number of nodes per hidden layer.
max_epochs: int
Number of epochs to train the neural network.
!pip install scvi-tools # Install external libraries
import scvi
scvi.model.SCVI.setup_anndata(adata, layer="counts", batch_key="batch")
model = scvi.model.SCVI(adata, n_layers=2, n_latent=30, n_hidden=128, gene_likelihood="nb")
scanvi_model = scvi.model.SCANVI.from_scvi_model(model, adata=adata, labels_key="cell_type", unlabeled_category="unknown")
scanvi_model.train(use_gpu = True, max_epochs=400, n_samples_per_label=100)
SCANVI_LATENT_KEY = "X_scANVI"
adata.obsm[SCANVI_LATENT_KEY] = scanvi_model.get_latent_representation(adata)
SCANVI_MDE_KEY = "X_scANVI_MDE"
adata.obsm[SCANVI_MDE_KEY] = scvi.model.utils.mde(adata.obsm[SCANVI_LATENT_KEY])