Skip to main content
Ctrl+K
scvi-tools - Home scvi-tools - Home
  • Installation
  • Tutorials
    • Quick start
      • Introduction to scvi-tools
      • Data loading and preparation
    • scRNA-seq
      • Atlas-level integration of lung data
      • MrVI Quick Start Tutorial
      • Benchmarking the scANVI fix
      • Seed labeling with scANVI
      • Integration and label transfer with Tabula Muris
      • Differential expression on C. elegans data
      • Annotation with CellAssign
      • Isolating perturbation-induced variations with contrastiveVI
      • Linearly decoded VAE
      • Topic Modeling with Amortized LDA
      • Identification of zero-inflated genes
      • Integration of scRNA-seq data with substantial batch effects using sysVI
      • Decipher Quick Start Tutorial
      • Variational inference for RNA velocity with VeloVI
      • MrVI analysis over Tahoe100M cells dataset
    • ATAC-seq
      • PeakVI: Analyzing scATACseq data
      • PoissonVI: Analyzing quantitative scATAC-seq fragment counts
      • ScBasset: Analyzing scATACseq data
      • scBasset: Batch correction of scATACseq data
    • Cytometry
      • Quick start tutorial for CytoVI
      • Advanced Tutorial: Multi-Panel Integration and Downstream Analysis with CytoVI
    • scBS-seq
      • Integrating single-cell methylation data from different scBS-seq experiments with methylVI
    • Multimodal
      • CITE-seq analysis with totalVI
      • Reference mapping with SCVI-Tools
      • CITE-seq reference mapping with totalVI
      • Integration of CITE-seq and scRNA-seq data
      • Joint analysis of paired and unpaired multiomic data with MultiVI
      • Integration of scRNA-seq and spatial proteomics data with DiagVI
      • Integration of scRNA-seq and spatial transcriptomics data with DiagVI
    • Spatial transcriptomics
      • ResolVI to address noise and biases in spatial transcriptomics
      • scVIVA for representing cells and their environment in spatial transcriptomics
      • Multi-resolution deconvolution of spatial transcriptomics
      • Introduction to gimVI
      • Spatial mapping with Tangram
      • Stereoscope applied to left ventricule data
      • Mapping human lymph node cell types to 10X Visium with Cell2location
    • Model hub
      • Using scvi-hub to download pretrained scvi-tools models
      • Using scvi-hub to upload pretrained scvi-tools models
      • Use pretrained models of scVI-hub for CELLxGENE
      • Querying the Human Lung Cell Atlas
      • Use pretrained models of scVI-hub for Tahoe100M
    • Common Modelling Use Cases
      • Preprocessing datasets for analysis with scvi-tools
      • Model hyperparameter tuning with scVI
      • Minification
      • Using SHAP values and IntegratedGradients for cell type classification interpretability
      • Train a scVI model using multiGPU
    • Custom Data Loaders
      • Train a scVI model using Census data
      • Train a scVI model using Lamin
      • Train a scVI model using Anncollection dataloader wrapper
      • MrVI analysis over Tahoe100M cells dataset using LaminDB Custom Dataloader
    • R Tutorials
      • Using Python in R with reticulate
      • Introduction to scvi-tools in R
      • Integrating datasets with scVI in R
      • CITE-seq analysis in R
      • ATAC-seq analysis in R
      • Multi-resolution deconvolution of spatial transcriptomics in R
    • Development
      • Data handling in scvi-tools
      • Constructing a probabilistic module
      • Constructing a high-level model
  • User guide
    • Background
      • Overview of the scvi-tools codebase
      • Counterfactual prediction
      • Differential Abundance
      • Differential Expression
      • Transfer learning
      • Variational Inference
    • Use Cases
      • Train SCVI model with custom dataloaders
      • Perform downstream analysis tasks of SCVI models
      • Optimize SCVI model with hyperparameter tuning
      • Using LLM Engines with scvi-tools
      • Train SCVI model with multi-GPU support
      • Saving and loading SCVI models
      • SCVI Criticism
      • Training configuration
      • Train SCVI model with callbacks
    • Models
      • Amortized LDA
      • AUTOZI
      • CellAssign
      • contrastiveVI
      • CytoVI
      • Decipher
      • DestVI
      • DiagVI
      • gimVI
      • LDVAE
      • MethylANVI
      • MethylVI
      • MrVI
      • MultiVI
      • PeakVI
      • PoissonVI
      • ResolVI
      • scANVI
      • scAR
      • scBasset
      • scVI
      • scVIVA
      • Solo
      • Stereoscope
      • SysVI
      • Tangram
      • TotalANVI
      • totalVI
      • VeloVI
  • API
    • User
      • scvi.model.AUTOZI
      • scvi.model.CondSCVI
      • scvi.model.DestVI
      • scvi.model.LinearSCVI
      • scvi.model.PEAKVI
      • scvi.model.SCANVI
      • scvi.model.SCVI
      • scvi.model.TOTALVI
      • scvi.model.MULTIVI
      • scvi.model.AmortizedLDA
      • scvi.model.JaxSCVI
      • scvi.model.mlxSCVI
      • scvi.external.CellAssign
      • scvi.external.CYTOVI
      • scvi.external.GIMVI
      • scvi.external.RNAStereoscope
      • scvi.external.SpatialStereoscope
      • scvi.external.SOLO
      • scvi.external.SCAR
      • scvi.external.Tangram
      • scvi.external.SCBASSET
      • scvi.external.ContrastiveVI
      • scvi.external.POISSONVI
      • scvi.external.VELOVI
      • scvi.external.MRVI
      • scvi.external.TorchMRVI
      • scvi.external.JaxMRVI
      • scvi.external.METHYLVI
      • scvi.external.METHYLANVI
      • scvi.external.Decipher
      • scvi.external.TOTALANVI
      • scvi.external.RESOLVI
      • scvi.external.SysVI
      • scvi.external.SCVIVA
      • scvi.external.DIAGVI
      • scvi.data.read_h5ad
      • scvi.data.read_csv
      • scvi.data.read_loom
      • scvi.data.read_text
      • scvi.data.read_10x_atac
      • scvi.data.read_10x_multiome
      • scvi.data.poisson_gene_selection
      • scvi.data.organize_cite_seq_10x
      • scvi.data.organize_multiome_anndatas
      • scvi.data.add_dna_sequence
      • scvi.data.reads_to_fragments
      • scvi.autotune.run_autotune
      • scvi.autotune.AutotuneExperiment
      • scvi.train.TrainingPlanConfig
      • scvi.train.AdversarialTrainingPlanConfig
      • scvi.train.SemiSupervisedTrainingPlanConfig
      • scvi.train.SemiSupervisedAdversarialTrainingPlanConfig
      • scvi.train.PyroTrainingPlanConfig
      • scvi.train.LowLevelPyroTrainingPlanConfig
      • scvi.train.ClassifierTrainingPlanConfig
      • scvi.train.JaxTrainingPlanConfig
      • scvi.train.TrainerConfig
      • scvi.hub.HubMetadata
      • scvi.hub.HubModelCardHelper
      • scvi.hub.HubModel
      • scvi.criticism.PosteriorPredictiveCheck
      • scvi.model.utils.get_minified_adata_scrna
      • scvi._settings.ScviConfig
    • Developer
      • scvi.data.AnnDataManager
      • scvi.data.AnnDataManagerValidationCheck
      • scvi.data.fields.BaseAnnDataField
      • scvi.data.fields.LayerField
      • scvi.data.fields.CategoricalObsField
      • scvi.data.fields.CategoricalVarField
      • scvi.data.fields.NumericalJointObsField
      • scvi.data.fields.NumericalJointVarField
      • scvi.data.fields.CategoricalJointObsField
      • scvi.data.fields.CategoricalJointVarField
      • scvi.data.fields.ObsmField
      • scvi.data.fields.VarmField
      • scvi.data.fields.ProteinObsmField
      • scvi.data.fields.StringUnsField
      • scvi.data.fields.LabelsWithUnlabeledObsField
      • scvi.data.fields.BaseMuDataWrapperClass
      • scvi.data.fields.MuDataWrapper
      • scvi.data.fields.MuDataLayerField
      • scvi.data.fields.MuDataProteinLayerField
      • scvi.data.fields.MuDataNumericalObsField
      • scvi.data.fields.MuDataNumericalVarField
      • scvi.data.fields.MuDataCategoricalObsField
      • scvi.data.fields.MuDataCategoricalVarField
      • scvi.data.fields.MuDataObsmField
      • scvi.data.fields.MuDataVarmField
      • scvi.data.fields.MuDataNumericalJointObsField
      • scvi.data.fields.MuDataNumericalJointVarField
      • scvi.data.fields.MuDataCategoricalJointObsField
      • scvi.data.fields.MuDataCategoricalJointVarField
      • scvi.data.AnnTorchDataset
      • scvi.dataloaders.AnnDataLoader
      • scvi.dataloaders.AnnTorchDataset
      • scvi.dataloaders.CollectionAdapter
      • scvi.dataloaders.ConcatDataLoader
      • scvi.dataloaders.DataSplitter
      • scvi.dataloaders.SemiSupervisedDataLoader
      • scvi.dataloaders.SemiSupervisedDataSplitter
      • scvi.dataloaders.BatchDistributedSampler
      • scvi.dataloaders.MappedCollectionDataModule
      • scvi.dataloaders.TileDBDataModule
      • scvi.distributions.Poisson
      • scvi.distributions.NegativeBinomial
      • scvi.distributions.NegativeBinomialMixture
      • scvi.distributions.ZeroInflatedNegativeBinomial
      • scvi.distributions.JaxNegativeBinomialMeanDisp
      • scvi.distributions.BetaBinomial
      • scvi.distributions.Normal
      • scvi.distributions.Log1pNormal
      • scvi.distributions.ZeroInflatedLogNormal
      • scvi.distributions.ZeroInflatedGamma
      • scvi.model.base.BaseModelClass
      • scvi.model.base.BaseMinifiedModeModelClass
      • scvi.model.base.VAEMixin
      • scvi.model.base.RNASeqMixin
      • scvi.model.base.ArchesMixin
      • scvi.model.base.UnsupervisedTrainingMixin
      • scvi.model.base.SemisupervisedTrainingMixin
      • scvi.model.base.PyroSviTrainMixin
      • scvi.model.base.PyroSampleMixin
      • scvi.model.base.PyroJitGuideWarmup
      • scvi.model.base.PyroModelGuideWarmup
      • scvi.model.base.DifferentialComputation
      • scvi.model.base.EmbeddingMixin
      • scvi.module.AutoZIVAE
      • scvi.module.Classifier
      • scvi.module.LDVAE
      • scvi.module.MRDeconv
      • scvi.module.PEAKVAE
      • scvi.module.MULTIVAE
      • scvi.module.SCANVAE
      • scvi.module.TOTALVAE
      • scvi.module.VAE
      • scvi.module.VAEC
      • scvi.module.AmortizedLDAPyroModule
      • scvi.module.JaxVAE
      • scvi.external.gimvi.JVAE
      • scvi.external.cytovi.CytoVAE
      • scvi.external.cellassign.CellAssignModule
      • scvi.external.contrastivevi.ContrastiveDataSplitter
      • scvi.external.stereoscope.RNADeconv
      • scvi.external.stereoscope.SpatialDeconv
      • scvi.external.tangram.TangramMapper
      • scvi.external.scbasset.ScBassetModule
      • scvi.external.contrastivevi.ContrastiveVAE
      • scvi.external.velovi.VELOVAE
      • scvi.external.mrvi.MRVAE
      • scvi.external.mrvi_jax.JaxMRVAE
      • scvi.external.mrvi_torch.TorchMRVAE
      • scvi.external.methylvi.METHYLVAE
      • scvi.external.methylvi.METHYLANVAE
      • scvi.external.decipher.DecipherPyroModule
      • scvi.external.resolvi.RESOLVAE
      • scvi.external.totalanvi.TOTALANVAE
      • scvi.external.scviva.nicheVAE
      • scvi.external.scviva.NicheLossOutput
      • scvi.external.sysvi.SysVAE
      • scvi.external.diagvi.DIAGVAE
      • scvi.module.base.BaseModuleClass
      • scvi.module.base.BaseMinifiedModeModuleClass
      • scvi.module.base.SupervisedModuleClass
      • scvi.module.base.PyroBaseModuleClass
      • scvi.module.base.JaxBaseModuleClass
      • scvi.module.base.EmbeddingModuleMixin
      • scvi.module.base.LossOutput
      • scvi.module.base.auto_move_data
      • scvi.nn.FCLayers
      • scvi.nn.Encoder
      • scvi.nn.Decoder
      • scvi.nn.DecoderSCVI
      • scvi.nn.LinearDecoderSCVI
      • scvi.nn.one_hot
      • scvi.nn.Embedding
      • scvi.nn.DecoderTOTALVI
      • scvi.nn.EncoderTOTALVI
      • scvi.train.AdversarialTrainingPlan
      • scvi.train.ClassifierTrainingPlan
      • scvi.train.SemiSupervisedTrainingPlan
      • scvi.train.SemiSupervisedAdversarialTrainingPlan
      • scvi.train.LowLevelPyroTrainingPlan
      • scvi.train.PyroTrainingPlan
      • scvi.train.JaxTrainingPlan
      • scvi.train.Trainer
      • scvi.train.TrainingPlan
      • scvi.train.TrainRunner
      • scvi.train.ScibCallback
      • scvi.train.SaveCheckpoint
      • scvi.train.LoudEarlyStopping
      • scvi.utils.track
      • scvi.utils.setup_anndata_dsp
      • scvi.utils.attrdict
      • scvi.model.get_max_epochs_heuristic
      • scvi.external.decipher.utils.Trajectory
    • Datasets
      • scvi.data.cellxgene
      • scvi.data.pbmc_seurat_v4_cite_seq
      • scvi.data.spleen_lymph_cite_seq
      • scvi.data.heart_cell_atlas_subsampled
      • scvi.data.pbmcs_10x_cite_seq
      • scvi.data.purified_pbmc_dataset
      • scvi.data.dataset_10x
      • scvi.data.brainlarge_dataset
      • scvi.data.pbmc_dataset
      • scvi.data.cortex
      • scvi.data.smfish
      • scvi.data.synthetic_iid
      • scvi.data.breast_cancer_dataset
      • scvi.data.mouse_ob_dataset
      • scvi.data.retina
      • scvi.data.prefrontalcortex_starmap
      • scvi.data.frontalcortex_dropseq
  • Developer documentation
    • Contributing code
    • Maintenance guide
  • Frequently asked questions
  • Release notes
  • References
  • Discussion
  • GitHub
  • Model hub
  • .md

Multimodal

Multimodal#

  • CITE-seq analysis with totalVI
  • Reference mapping with SCVI-Tools
  • CITE-seq reference mapping with totalVI
  • Integration of CITE-seq and scRNA-seq data
  • Joint analysis of paired and unpaired multiomic data with MultiVI
  • Integration of scRNA-seq and spatial proteomics data with DiagVI
  • Integration of scRNA-seq and spatial transcriptomics data with DiagVI

CITE-seq analysis with totalVI

Go through the totalVI workflow to analyze CITE-seq datasets

Multimodal

Reference mapping with SCVI-Tools

Map cells from a query dataset to the latent space of a reference dataset with the scArches method

Multimodal

CITE-seq reference mapping with totalVI

Use totalVI to train a reference model and map CITE-seq query data

Multimodal

Integration of CITE-seq and scRNA-seq data

Use totalVI to integrate CITE-seq and scRNA-seq datasets

Multimodal

Joint analysis of paired and unpaired multiomic data with MultiVI

Go through the MultiVI workflow to perform joint analysis of paired and unpaired multi omic data

Multimodal

Integration of scRNA-seq and spatial proteomics data with DiagVI

Perform integration of spatial proteomics and single-cell transcriptomics data with DiagVI

Multimodal

Integration of scRNA-seq and spatial transcriptomics data with DiagVI

Perform integration of spatial and single-cell transcriptomics data with DiagVI

Multimodal

previous

Integrating single-cell methylation data from different scBS-seq experiments with methylVI

next

CITE-seq analysis with totalVI

By The scvi-tools development team

© Copyright 2026, The scvi-tools development team..