Skip to content
master
Switch branches/tags
Code

scvi-tools

Stars PyPI Documentation Status Build Status Coverage Code Style Downloads Join the chat at https://gitter.im/scvi-tools/development

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.

Available implementations of single-cell omics models

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.
  • DestVI for multi-resolution deconvolution of spatial transcriptomics data.
  • peakVI for analysis of scATAC-seq data.
  • scArches for transfer learning from one single-cell atlas to a query dataset (currently supports scVI, scANVI and TotalVI).
  • CellAssign for reference-based annotation of scRNA-seq data.
  • Solo for doublet detection in scRNA-seq data.

All these implementations have a high-level API that interacts with scanpy, standard save/load functions, and support GPU acceleration.

Rapid development of novel probabilistic models

scvi-tools contains the building blocks to develop and deploy 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.

Basic installation

For conda,

conda install scvi-tools -c bioconda -c conda-forge

and for pip,

pip install scvi-tools

Please be sure to install a version of PyTorch that is compatible with your GPU (if applicable).

Resources

  • Tutorials, API reference, and installation guides are available in the documentation.
  • For discussion of usage, check out our forum.
  • Please use the issues to submit bug reports.
  • If you'd like to contribute, check out our contributing guide.
  • If you find a model useful for your research, please consider citing the corresponding publication (linked above).

Reference

If you used scvi-tools in your research, please consider citing

@article{Gayoso2021scvitools,
	author = {Gayoso, Adam and Lopez, Romain and Xing, Galen and Boyeau, Pierre and Wu, Katherine and Jayasuriya, Michael and Mehlman, Edouard and Langevin, Maxime and Liu, Yining and Samaran, Jules and Misrachi, Gabriel and Nazaret, Achille and Clivio, Oscar and Xu, Chenling and Ashuach, Tal and Lotfollahi, Mohammad and Svensson, Valentine and da Veiga Beltrame, Eduardo and Talavera-Lopez, Carlos and Pachter, Lior and Theis, Fabian J and Streets, Aaron and Jordan, Michael I and Regier, Jeffrey and Yosef, Nir},
	title = {scvi-tools: a library for deep probabilistic analysis of single-cell omics data},
	year = {2021},
	doi = {10.1101/2021.04.28.441833},
	publisher = {Cold Spring Harbor Laboratory},
	URL = {https://www.biorxiv.org/content/early/2021/04/29/2021.04.28.441833},
	eprint = {https://www.biorxiv.org/content/early/2021/04/29/2021.04.28.441833.full.pdf},
	journal = {bioRxiv}
}