Skip to content

Deep probabilistic analysis of single-cell omics data

License

Notifications You must be signed in to change notification settings

owkin/deepdeconv

 
 

Repository files navigation

scvi-tools

Stars PyPI Documentation Status Build Status Coverage Code Style Downloads Project chat

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.

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 [Abstra]

Clone repository

git clone https://github.com/owkin/deepdeconv # https
git clone git@github.com:owkin/deepdeconv.git # ssh

Create an environment and install scvi-tools locally

conda create -n deepdeconv python=3.9
conda activate deepdeconv
cd deepdeconv
# install library in editable mode
pip install -e ".[dev,docs,tutorials]"
# Install additional requirements
pip install -r requirements.txt

To confirm that scvi-tools was succesfully installed

pip show scvi-tools

Create an ipykernel so you can use your environment with a Jupyter notebook

`python -m ipykernel install --user --name=deepdeconv`

Create a branch for local development

git checkout -b {your-branch-name}

I you want to use a GPU, make sure to create a workspace with a GPU in Abstra. 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 2022 Apr 10. doi: 10.1038/s41587-023-01733-8.

About

Deep probabilistic analysis of single-cell omics data

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.7%
  • R 6.8%
  • Other 0.5%