scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling of single-cell omics data, built on top of PyTorch and Anndata.
scvi-tools contains scalable implementations of several models that facilitate a broad number of tasks across many omics, including:
- scVI for analysis of single-cell RNA-seq data, as well as its improved differential expression framework.
- scANVI for cell annotation of scRNA-seq data using semi-labeled examples.
- totalVI for analysis of CITE-seq data.
- gimVI for imputation of missing genes in spatial transcriptomics from scRNA-seq data.
- AutoZI for assessing gene-specific levels of zero-inflation in scRNA-seq data.
- LDVAE for an interpretable linear factor model version of scVI.
- Stereoscope for deconvolution of spatial transcriptomics data.
- peakVI for analysis of ATAC-seq data.
- scArches for transfer learning from one single-cell atlas to a query dataset (currently supports scVI, scANVI and TotalVI).
All these implementations have a high-level API that interacts with scanpy, standard save/load functions, and support GPU acceleration.
scvi-tools contains the building blocks to prototype novel probablistic models. These building blocks are powered by popular probabilistic and machine learning frameworks such as PyTorch lightning, and Pyro.
We recommend checking out the skeleton repository, as a starting point for developing new models into scvi-tools.
- Tutorials, API reference, and installation guides are available in the documentation.
- For discussion of usage, checkout out our forum.
- Please use the issues here to submit bug reports.
- If you'd like to contribute, check out our development guide.
- If you find a model useful for your research, please consider citing the corresponding publication (linked above).