Skip to main content
File added late

1 file was added to this release more than 14 days after its initial publication. Inspect the release files before installing.

Stars PyPI PyPIDownloads Build Status Documentation codecov pre-commit

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.

Workflow

Resources

  • The git repository of the scib package 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

  • Cell type ASW

  • Cell cycle conservation

  • Graph cLISI

  • Adjusted rand index (ARI) for cell label

  • Normalised mutual information (NMI) for cell label

  • Highly variable gene conservation

  • Isolated label ASW

  • Isolated label F1

  • Trajectory conservation

  • Batch ASW

  • Principal component regression

  • Graph iLISI

  • Graph connectivity

  • kBET (K-nearest neighbour batch effect)

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:

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)

Source distribution for scib 1.1.7
File Size Uploaded
scib-1.1.7.tar.gz 78.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for scib 1.1.7
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.1.7 This release

3 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page