1 file was added to this release more than 14 days after its initial publication. Inspect the release files before installing.
Benchmarking atlas-level data integration in single-cell genomics
This repository contains the code for the scib package used in our benchmarking study for data integration tools.
In our study, we benchmark 16 methods (see Tools) with 4 combinations of
preprocessing steps leading to 68 methods combinations on 85 batches of gene expression and chromatin accessibility
data.
Resources
- The git repository of the
scibpackage and its documentation. - The reusable pipeline we used in the study can be found in the separate scib pipeline repository. It is reproducible and automates the computation of preprocesssing combinations, integration methods and benchmarking metrics.
- On our website we visualise the results of the study.
- For reproducibility and visualisation we have a dedicated repository: scib-reproducibility.
Please cite:
Luecken, M.D., Büttner, M., Chaichoompu, K. et al. Benchmarking atlas-level data integration in single-cell genomics. Nat Methods 19, 41–50 (2022). https://doi.org/10.1038/s41592-021-01336-8
Package: scib
We created the python package called scib that uses scanpy to streamline the integration of single-cell datasets and
evaluate the results. The package contains several modules for preprocessing an anndata object, running integration
methods and evaluating the resulting using a number of metrics. For preprocessing, scib.preprocessing (or scib.pp)
contains functions for normalising, scaling or batch-aware selection of highly variable genes. Functions for the
integration methods are in scib.integration or for short scib.ig and metrics are under
scib.metrics (or scib.me).
The scib python package is available on PyPI and can be installed through
pip install scib
Import scib in python:
import scib
Optional Dependencies
The package contains optional dependencies that need to be installed manually if needed.
These include R dependencies (rpy2, anndata2ri) which require an installation of R integration method packages.
All optional dependencies are listed under setup.cfg under [options.extras_require] and can be installed through pip.
e.g. for installing rpy2 and bbknn dependencies:
pip install 'scib[rpy2,bbknn]'
Optional dependencies outside of python need to be installed separately. For instance, in order to run kBET, install it via the following command in R:
install.packages('remotes')
remotes::install_github('theislab/kBET')
Metrics
We implemented different metrics for evaluating batch correction and biological conservation in the scib.metrics
module.
Biological Conservation |
Batch Correction |
|---|---|
|
|
For a detailed description of the metrics implemented in this package, please see our publication and the package documentation.
Integration Tools
Tools that are compared include:
- BBKNN 1.3.9
- Combat paper
- Conos 1.3.0
- DESC 2.0.3
- FastMNN (batchelor 1.4.0)
- Harmony 1.0
- LIGER 0.5.0
- MNN 0.1.9.5
- SAUCIE
- Scanorama 1.7.0
- scANVI (scVI 0.6.7)
- scGen 1.1.5
- scVI 0.6.7
- Seurat v3 3.2.0 CCA (default) and RPCA
- TrVae 0.0.1
- TrVaep 0.1.0
Development
For developing this package, please make sure to install additional dependencies so that you can use pytest and
pre-commit.
pip install -e '.[test,dev]'
Please refer to the setup.cfg for more optional dependencies.
Install pre-commit to the repository for running it automatically every time you commit in git.
pre-commit install
Metadata
Release files for scib 1.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
File added late
1 file was uploaded more than 14 days after the first file in this release.
While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.
We recommend inspecting the release files before installing.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scib-1.1.7.tar.gz | 78.8 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scib-1.1.7-py3-none-any.whl | Python 3 | none | any | Details |
| scib-1.1.7-1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 253.4 kB
Release files / scib-1.1.7.tar.gz
| Download URL | scib-1.1.7.tar.gz |
|---|---|
| Size | 78.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bd5fed6b89adf265c317bba1a73e9418aa94574b08fab46356f5ceb98990202
|
|
BLAKE2b-256 checksum How to use checksums |
aa3cfba04785b15a74a152cd265cbdb1383bbff0bac0945f9551aab2036fceb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / scib-1.1.7-py3-none-any.whl
File added late
This file was uploaded more than 14 days after the first file in this release.
While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.
We recommend inspecting the release file before installing.
| Download URL | scib-1.1.7-py3-none-any.whl |
|---|---|
| Size | 90.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e153810e7ce59915ccb2ea5d61567bca059f67ae3e5209147b99f56c54e053f
|
|
BLAKE2b-256 checksum How to use checksums |
49cafc987cae754a1741350c05d51e5325657355e30ae4b05f4c5ff55fbb9523
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / scib-1.1.7-1-py3-none-any.whl
| Download URL | scib-1.1.7-1-py3-none-any.whl |
|---|---|
| Size | 84.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
096fb2181471182e1ef6728b675884e7fb0611ba71330068386578dcd4ce2cc7
|
|
BLAKE2b-256 checksum How to use checksums |
e56b92f74b30e716d5a3e5318a3c0872bb0a0fdd253f5deee6151126275d0923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|