• Stars
    star
    898
  • Rank 50,490 (Top 1.0 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Deep probabilistic analysis of single-cell omics data

scvi-tools

Stars PyPI PyPIDownloads CondaDownloads Docs Build Coverage Discourse Chat Powered by NumFOCUS

scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and analysis of single-cell omics data, built on top of PyTorch and AnnData.

scvi-tools is part of the scverse project (website, governance) and is fiscally sponsored by NumFOCUS. Please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

Analysis of single-cell omics data

scvi-tools is composed of models that perform many analysis tasks across single- or multi-omics:

  • Dimensionality reduction
  • Data integration
  • Automated annotation
  • Factor analysis
  • Doublet detection
  • Spatial deconvolution
  • and more!

In the user guide, we provide an overview of each model. All model implementations have a high-level API that interacts with scanpy and includes standard save/load functions, GPU acceleration, etc.

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. For an overview of how the scvi-tools package is structured, you may refer to this page.

We recommend checking out the skeleton repository as a starting point for developing and deploying new models with scvi-tools.

Basic installation

For conda,

conda install scvi-tools -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 use scvi-tools in your work, please cite

A Python library for probabilistic analysis of single-cell omics data

Adam Gayoso, Romain Lopez, Galen Xing, Pierre Boyeau, Valeh Valiollah Pour Amiri, Justin Hong, Katherine Wu, Michael Jayasuriya, Edouard Mehlman, Maxime Langevin, Yining Liu, Jules Samaran, Gabriel Misrachi, Achille Nazaret, Oscar Clivio, Chenling Xu, Tal Ashuach, Mariano Gabitto, Mohammad Lotfollahi, Valentine Svensson, Eduardo da Veiga Beltrame, Vitalii Kleshchevnikov, Carlos Talavera-Lรณpez, Lior Pachter, Fabian J. Theis, Aaron Streets, Michael I. Jordan, Jeffrey Regier & Nir Yosef

Nature Biotechnology 2022 Feb 07. doi: 10.1038/s41587-021-01206-w.

along with the publicaton describing the model used.

You can cite the scverse publication as follows:

The scverse project provides a computational ecosystem for single-cell omics data analysis

Isaac Virshup, Danila Bredikhin, Lukas Heumos, Giovanni Palla, Gregor Sturm, Adam Gayoso, Ilia Kats, Mikaela Koutrouli, Scverse Community, Bonnie Berger, Dana Peโ€™er, Aviv Regev, Sarah A. Teichmann, Francesca Finotello, F. Alexander Wolf, Nir Yosef, Oliver Stegle & Fabian J. Theis

Nature Biotechnology 2023 Apr 10. doi: 10.1038/s41587-023-01733-8.

More Repositories

1

scanpy

Single-cell analysis in Python. Scales to >1M cells.
Python
1,862
star
2

anndata

Annotated data.
Python
554
star
3

squidpy

Spatial Single Cell Analysis in Python
Python
421
star
4

spatialdata

An open and interoperable data framework for spatial omics data
Python
215
star
5

muon

muon is a multimodal omics Python framework
Python
206
star
6

scirpy

A scanpy extension to analyse single-cell TCR and BCR data.
Python
203
star
7

scanpy-tutorials

Scanpy Tutorials.
Jupyter Notebook
181
star
8

pertpy

Perturbation Analysis in the scverse ecosystem.
Python
125
star
9

scanpy_usage

Scanpy use cases.
HTML
75
star
10

mudata

Multimodal Data (.h5mu) implementation for Python
Python
70
star
11

cookiecutter-scverse

Cookiecutter template for scverse
Python
67
star
12

anndataR

AnnData interoperability in R
R
50
star
13

pytometry

Flow & mass cytometry analytics.
Python
41
star
14

napari-spatialdata

Interactive visualization of spatial omics data
Python
36
star
15

scvi-tutorials

Notebooks used in scvi-tools tutorials
Jupyter Notebook
35
star
16

spatialdata-notebooks

Jupyter Notebook
34
star
17

spatialdata-io

Python
33
star
18

spatialdata-plot

Static plotting for spatialdata
Python
27
star
19

squidpy_notebooks

Tutorials for Squidpy
Jupyter Notebook
26
star
20

Muon.jl

Muon for Julia
Julia
25
star
21

scvi-tools-skeleton

Template repository for creating novel models with scvi-tools
Python
19
star
22

ecosystem-packages

Registry for scverse ecosystem packages (https://scverse.org/packages/#ecosystem)
Python
18
star
23

genomic-features

Genomic Features in Python from BioConductor's AnnotationHub
Python
18
star
24

anndata-tutorials

Use cases for anndata.
Jupyter Notebook
13
star
25

muon-tutorials

Tutorials for multimodal omics data analysis
Jupyter Notebook
11
star
26

scverse-tutorials

Tutorials for learning scverse
Python
11
star
27

governance

Governance docs for scverse
6
star
28

pertpy-tutorials

Jupyter Notebook
4
star
29

simple-scvi

Example repo of using scvi-tools building blocks externally with simplified scVI implementation
Python
3
star
30

multi-condition-comparisions

Functions for analyzing and visualizing multi-condition single-cell data (prototypes created at Cambridge hackathon)
Python
3
star
31

shadows

Shadow objects for AnnData and MuData (experimental)
Python
2
star
32

benchmark

Code for running benchmarks
2
star
33

cookiecutter-scverse-instance

Example repository generated from https://github.com/scverse/cookiecutter-scverse. This repo is updated automatically to match the latest version of the template.
Python
1
star
34

scverse.github.io

scverse.org website
SCSS
1
star