Science & Nature
Single-cell omics technologies have enabled the creation of comprehensive cell atlases across tissues and species and delivered key insights into the biological mechanisms underlying development, homeostasis and disease. Deriving such insights relied on the development of a multitude of computational tools and data structures1. However, the explosive growth of tools led to incompatibilities in data formats, application programming interfaces (APIs) and user interfaces, posing growing challenges for both tool users and developers. Here, we present scverse (https://scverse.org), a multi-institution open-source software project to address storage and analysis needs of single-cell profiling data. Scverse will help to support an omics analysis ecosystem in Python by bringing together tools and analysts into a robust community. To deliver a sustainable solution, scverse provides well-maintained core functionality including interoperable data formats and community structures. Scverse is an open community initiated by the developers of some of the most popular tools in the Python single-cell analysis ecosystem, including scanpy2, scvi-tools3 and muon4, which are successfully used in many downstream methods constructing various single-cell reference atlases of tissues, organs and organisms5.
Code availability
The source code for the scverse core tools is publicly available at https://github.com/scverse. Code for determining the number of dependent packages and repositories is available from https://gist.github.com/ivirshup/4bff45c0a8d38b97c5289c8b2407dfcf.
References
Zappia, L. & Theis, F. J. Genome Biol. 22, 301 (2021).
Wolf, F. A., Angerer, P. & Theis, F. J. Genome Biol. 19, 15 (2018).
Gayoso, A. et al. Nat. Biotechnol. 40, 163–166 (2022).
Bredikhin, D., Kats, I. & Stegle, O. Genome Biol. 23, 42 (2022).
Liu, Z. & Zhang, Z. Science 376, 695–696 (2022).
Woolston, C. Why science needs more research software engineers. Nature https://doi.org/10.1038/d41586-022-01516-2 (2022).
Huber, W. et al. Nat. Methods 12, 115–121 (2015).
Keller, M. S. et al. Preprint at https://doi.org/10.31219/osf.io/y8thv (2021).
Zappia, L. & Lun, A. zellkonverter: Conversion Between scRNA-seq Objects. R package version 1.8.0, https://github.com/theislab/zellkonverter (2022).
Moore, J. et al. Nat. Methods 18, 1496–1498 (2021).
Sturm, G. et al. Bioinformatics 36, 4817–4818 (2020).
Palla, G. et al. Nat. Methods 19, 171–178 (2022).
Virtanen, P. et al. Nat. Methods 17, 261–272 (2020).
Harris, C. R. et al. Nature 585, 357–362 (2020).
Lam, S. K., Pitrou, A. & Seibert, S. Numba: a LLVM-based Python JIT compiler. in Proc. Second Workshop on the LLVM Compiler Infrastructure in HPC 1–6 (Association for Computing Machinery, 2015).
Rocklin, M. Dask: parallel computation with blocked algorithms and task scheduling. in Proc. 14th Python in Science Conference (SciPy, 2015); https://doi.org/10.25080/majora-7b98e3ed-013
Hoyer, S. & Hamman, J. J. J. Open Res. Softw. 5, 10 (2017).
Paszke, A. et al. in Advances in Neural Information Processing Systems vol. 32 (eds. Wallach, H. et al.) 8024–8035 (Curran Associates, 2019).
Bradbury, J. et al. JAX: Composable Transformations of Python+NumPy Programs, http://github.com/google/jax (2018).
Lance, C. et al. Preprint at https://doi.org/10.1101/2022.04.11.487796 (2022).
Li, B. et al. Nat. Methods 19, 662–670 (2022).
Luecken, M. D. et al. Nat. Methods 19, 41–50 (2022).
Megill, C. et al. Preprint at https://doi.org/10.1101/2021.04.05.438318 (2021).
Fischer, D. S. et al. Genome Biol. 22, 248 (2021).
Rosenthal, J. et al. Mol. Cancer Res. 20, 202–206 (2022).
Gentleman, R. C. et al. Genome Biol. 5, R80 (2004).
Acknowledgements
The authors would like to thank all scverse contributors who opened issues, contributed code or answered questions on scverse forums to guide novice and advanced users. D.B. acknowledges funding by the EMBL International PhD Programme and Darwin Trust Fellowship. G.S. was supported by a DOC fellowship from the Austrian Academy of Sciences. F.F. was supported by the Austrian Science Fund (FWF) (T 974-B30). G.P. is supported by the Helmholtz Association under the joint research school Munich School for Data Science.
Ethics declarations
Competing interests
F.J.T. consults for Immunai Inc., Singularity Bio B.V., CytoReason Ltd and Omniscope Ltd, and has ownership interest in Dermagnostix GmbH and Cellarity. A.R. is a co-founder of and equity holder in Celsius Therapeutics, an equity holder in Immunitas, and until 31 July 2020 was a scientific advisory board member of Thermo Fisher Scientific, Syros Pharmaceuticals, Neogene Therapeutics and Asimov. From 1 August 2020, A.R. has been an employee of Genentech and a member of the Roche Group, and has equity in Roche. M.D.L is a part-time contractor for the Chan Zuckerberg Initiative. V.B. reports being employed by and having ownership interest in Cellarity. G.E. has been an employee of Genentech since 4 April 2022. R.L. has been an employee of Genentech since 31 August 2021. F.A.W. holds equity in Lamin Labs, Cellarity, Retro Biosciences and Doloromics. N.Y. is an advisor to and/or has equity in Cellarity, Celsius Therapeutics and Rheos Medicines. The remaining authors declare no competing interests.
Peer review
Peer review information
Nature Methods thanks Martin Hemberg and Wolfgang Huber for their contribution to the peer review of this work.
Supplementary information
Supplementary Table 1
List of unique PyPI packages that depend on scverse core tools. Determined by looking at reverse dependencies from https://www.wheelodex.org/.
Supplementary Table 2
List of unique GitHub repositories that depend on scverse core tools. Determined by scraping the dependent repositories from the core tools GitHub repositories.
Rights and permissions
About this article
Cite this article
Virshup, I., Bredikhin, D., Heumos, L. et al. The scverse project provides a computational ecosystem for single-cell omics data analysis.
Nat Biotechnol (2023). https://doi.org/10.1038/s41587-023-01733-8
Published:
DOI: https://doi.org/10.1038/s41587-023-01733-8
Read More
Isaac Virshup
