All benchmarks

Batch integration

Removing batch effects while preserving biological variation (graph output)

12 methods
5 control methods
3 datasets
4 metrics
5 releases
Task repository MIT v1.0.0-graph

This is a sub-task of the overall batch integration task. Batch (or data) integration methods integrate datasets across batches that arise from various biological and technical sources. Methods that integrate batches typically have three different types of output: a corrected feature matrix, a joint embedding across batches, and/or an integrated cell-cell similarity graph (e.g., a kNN graph). This sub-task focuses on all methods that can output integrated graphs, and includes methods that canonically output the other two data formats with subsequent postprocessing to generate a graph. Other sub-tasks for batch integration can be found for:

This sub-task was taken from a benchmarking study of data integration methods.

Contributors

  • Michaela Mueller
    maintainerauthor
  • Malte Luecken
    author
  • Daniel Strobl
    author
  • Robrecht Cannoodt
    contributor
  • Scott Gigante
    contributor
  • Kai Waldrant
    contributor
  • Nartin Kim
    contributor

Leaderboard

Methods ranked by scaled overall mean. Each cell encodes a score from 0 to 1 by size and intensity.

QC: Normalisation Visualisation 4 plots

Per metric: points placed by control-anchored scaled score (x); dashed lines mark scaled 0 and 1 (worst/best control); the lower axis shows the raw score. Points beyond [-0.2, 1.2] are clamped to the edge as triangles. Hover a dot or line to highlight it and read details.

methodcontrol
  • ARIhigher better
    Random Graph by Cellt…Random Graph by CelltypescANVI (hvg/unscaled)scANVI (hvg/unscaled)scANVI (full/unscaled)scANVI (full/unscaled)scVI (hvg/unscaled)scVI (hvg/unscaled)scVI (full/unscaled)scVI (full/unscaled)SCALEX (hvg)SCALEX (hvg)BBKNN (hvg/unscaled)BBKNN (hvg/unscaled)Scanorama (hvg/scaled)Scanorama (hvg/scaled)Combat (full/unscaled)Combat (full/unscaled)MNN (hvg/scaled)MNN (hvg/scaled)Scanorama (hvg/unscal…Scanorama (hvg/unscaled)FastMNN embed (hvg/un…FastMNN embed (hvg/unscaled)FastMNN embed (hvg/sc…FastMNN embed (hvg/scaled)Harmony (hvg/unscaled)Harmony (hvg/unscaled)FastMNN feature (hvg/…FastMNN feature (hvg/unscaled)Scanorama gene output…Scanorama gene output (hvg/scaled)Scanorama (full/scale…Scanorama (full/scaled)SCALEX (full)SCALEX (full)MNN (full/unscaled)MNN (full/unscaled)Harmony (hvg/scaled)Harmony (hvg/scaled)Combat (hvg/scaled)Combat (hvg/scaled)Harmony (full/unscale…Harmony (full/unscaled)Combat (hvg/unscaled)Combat (hvg/unscaled)BBKNN (hvg/scaled)BBKNN (hvg/scaled)FastMNN feature (hvg/…FastMNN feature (hvg/scaled)MNN (hvg/unscaled)MNN (hvg/unscaled)BBKNN (full/unscaled)BBKNN (full/unscaled)Harmony (full/scaled)Harmony (full/scaled)Scanorama gene output…Scanorama gene output (hvg/unscaled)FastMNN feature (full…FastMNN feature (full/scaled)FastMNN feature (full…FastMNN feature (full/unscaled)FastMNN embed (full/u…FastMNN embed (full/unscaled)FastMNN embed (full/s…FastMNN embed (full/scaled)BBKNN (full/scaled)BBKNN (full/scaled)Scanorama gene output…Scanorama gene output (full/scaled)Scanorama (full/unsca…Scanorama (full/unscaled)MNN (full/scaled)MNN (full/scaled)Scanorama gene output…Scanorama gene output (full/unscaled)Combat (full/scaled)Combat (full/scaled)Liger (hvg/unscaled)Liger (hvg/unscaled)Liger (full/unscaled)Liger (full/unscaled)No IntegrationNo IntegrationRandom Integration by…Random Integration by CelltypeRandom Integration by…Random Integration by BatchRandom IntegrationRandom Integration-8.1e-50.250.50.75100.250.50.751rawscaled
  • Graph connectivityhigher better
    Random Graph by Cellt…Random Graph by CelltypeBBKNN (hvg/scaled)BBKNN (hvg/scaled)BBKNN (full/unscaled)BBKNN (full/unscaled)BBKNN (hvg/unscaled)BBKNN (hvg/unscaled)scANVI (full/unscaled)scANVI (full/unscaled)MNN (hvg/unscaled)MNN (hvg/unscaled)scANVI (hvg/unscaled)scANVI (hvg/unscaled)scVI (hvg/unscaled)scVI (hvg/unscaled)scVI (full/unscaled)scVI (full/unscaled)MNN (full/unscaled)MNN (full/unscaled)MNN (hvg/scaled)MNN (hvg/scaled)BBKNN (full/scaled)BBKNN (full/scaled)SCALEX (hvg)SCALEX (hvg)Scanorama (full/scale…Scanorama (full/scaled)Combat (hvg/unscaled)Combat (hvg/unscaled)MNN (full/scaled)MNN (full/scaled)SCALEX (full)SCALEX (full)Combat (full/unscaled)Combat (full/unscaled)Combat (hvg/scaled)Combat (hvg/scaled)Scanorama (hvg/scaled)Scanorama (hvg/scaled)FastMNN feature (hvg/…FastMNN feature (hvg/unscaled)FastMNN embed (hvg/sc…FastMNN embed (hvg/scaled)FastMNN embed (hvg/un…FastMNN embed (hvg/unscaled)FastMNN embed (full/u…FastMNN embed (full/unscaled)FastMNN embed (full/s…FastMNN embed (full/scaled)Combat (full/scaled)Combat (full/scaled)FastMNN feature (hvg/…FastMNN feature (hvg/scaled)FastMNN feature (full…FastMNN feature (full/scaled)Harmony (hvg/unscaled)Harmony (hvg/unscaled)FastMNN feature (full…FastMNN feature (full/unscaled)Harmony (full/unscale…Harmony (full/unscaled)Harmony (hvg/scaled)Harmony (hvg/scaled)Harmony (full/scaled)Harmony (full/scaled)Scanorama gene output…Scanorama gene output (full/scaled)Scanorama (hvg/unscal…Scanorama (hvg/unscaled)Scanorama gene output…Scanorama gene output (hvg/scaled)Scanorama (full/unsca…Scanorama (full/unscaled)Scanorama gene output…Scanorama gene output (hvg/unscaled)Scanorama gene output…Scanorama gene output (full/unscaled)No IntegrationNo IntegrationRandom Integration by…Random Integration by CelltypeLiger (full/unscaled)Liger (full/unscaled)Liger (hvg/unscaled)Liger (hvg/unscaled)Random Integration by…Random Integration by BatchRandom IntegrationRandom Integration0.0490.2860.5240.762100.250.50.751rawscaled
  • Isolated label F1higher better
    Random Graph by Cellt…Random Graph by CelltypeScanorama (hvg/scaled)Scanorama (hvg/scaled)Scanorama (full/scale…Scanorama (full/scaled)scANVI (hvg/unscaled)scANVI (hvg/unscaled)Scanorama gene output…Scanorama gene output (hvg/scaled)scVI (full/unscaled)scVI (full/unscaled)scANVI (full/unscaled)scANVI (full/unscaled)BBKNN (full/scaled)BBKNN (full/scaled)scVI (hvg/unscaled)scVI (hvg/unscaled)Scanorama (full/unsca…Scanorama (full/unscaled)Scanorama gene output…Scanorama gene output (full/scaled)BBKNN (hvg/scaled)BBKNN (hvg/scaled)Scanorama gene output…Scanorama gene output (hvg/unscaled)Scanorama (hvg/unscal…Scanorama (hvg/unscaled)BBKNN (hvg/unscaled)BBKNN (hvg/unscaled)BBKNN (full/unscaled)BBKNN (full/unscaled)Combat (hvg/scaled)Combat (hvg/scaled)MNN (hvg/unscaled)MNN (hvg/unscaled)Combat (full/unscaled)Combat (full/unscaled)Harmony (full/unscale…Harmony (full/unscaled)MNN (hvg/scaled)MNN (hvg/scaled)MNN (full/unscaled)MNN (full/unscaled)Combat (hvg/unscaled)Combat (hvg/unscaled)Scanorama gene output…Scanorama gene output (full/unscaled)Harmony (hvg/unscaled)Harmony (hvg/unscaled)FastMNN feature (hvg/…FastMNN feature (hvg/scaled)No IntegrationNo IntegrationRandom Integration by…Random Integration by CelltypeFastMNN feature (hvg/…FastMNN feature (hvg/unscaled)FastMNN embed (hvg/un…FastMNN embed (hvg/unscaled)FastMNN embed (hvg/sc…FastMNN embed (hvg/scaled)FastMNN embed (full/s…FastMNN embed (full/scaled)FastMNN embed (full/u…FastMNN embed (full/unscaled)FastMNN feature (full…FastMNN feature (full/unscaled)FastMNN feature (full…FastMNN feature (full/scaled)Harmony (full/scaled)Harmony (full/scaled)MNN (full/scaled)MNN (full/scaled)Harmony (hvg/scaled)Harmony (hvg/scaled)SCALEX (hvg)SCALEX (hvg)Combat (full/scaled)Combat (full/scaled)SCALEX (full)SCALEX (full)Liger (hvg/unscaled)Liger (hvg/unscaled)Liger (full/unscaled)Liger (full/unscaled)Random Integration by…Random Integration by BatchRandom IntegrationRandom Integration0.030.2720.5150.757100.250.50.751rawscaled
  • NMIhigher better
    Random Graph by Cellt…Random Graph by CelltypescANVI (hvg/unscaled)scANVI (hvg/unscaled)scANVI (full/unscaled)scANVI (full/unscaled)Scanorama (hvg/unscal…Scanorama (hvg/unscaled)Scanorama (hvg/scaled)Scanorama (hvg/scaled)SCALEX (hvg)SCALEX (hvg)scVI (full/unscaled)scVI (full/unscaled)scVI (hvg/unscaled)scVI (hvg/unscaled)MNN (hvg/scaled)MNN (hvg/scaled)Combat (full/unscaled)Combat (full/unscaled)BBKNN (hvg/unscaled)BBKNN (hvg/unscaled)MNN (full/unscaled)MNN (full/unscaled)Scanorama (full/scale…Scanorama (full/scaled)Combat (hvg/scaled)Combat (hvg/scaled)Scanorama gene output…Scanorama gene output (hvg/scaled)Scanorama gene output…Scanorama gene output (hvg/unscaled)Combat (hvg/unscaled)Combat (hvg/unscaled)MNN (hvg/unscaled)MNN (hvg/unscaled)FastMNN embed (hvg/sc…FastMNN embed (hvg/scaled)FastMNN feature (hvg/…FastMNN feature (hvg/unscaled)FastMNN embed (hvg/un…FastMNN embed (hvg/unscaled)Harmony (hvg/unscaled)Harmony (hvg/unscaled)SCALEX (full)SCALEX (full)FastMNN feature (hvg/…FastMNN feature (hvg/scaled)Harmony (full/unscale…Harmony (full/unscaled)Harmony (hvg/scaled)Harmony (hvg/scaled)BBKNN (full/unscaled)BBKNN (full/unscaled)Scanorama (full/unsca…Scanorama (full/unscaled)FastMNN embed (full/u…FastMNN embed (full/unscaled)FastMNN embed (full/s…FastMNN embed (full/scaled)Scanorama gene output…Scanorama gene output (full/unscaled)BBKNN (hvg/scaled)BBKNN (hvg/scaled)FastMNN feature (full…FastMNN feature (full/unscaled)FastMNN feature (full…FastMNN feature (full/scaled)Scanorama gene output…Scanorama gene output (full/scaled)Harmony (full/scaled)Harmony (full/scaled)BBKNN (full/scaled)BBKNN (full/scaled)MNN (full/scaled)MNN (full/scaled)No IntegrationNo IntegrationRandom Integration by…Random Integration by CelltypeCombat (full/scaled)Combat (full/scaled)Liger (hvg/unscaled)Liger (hvg/unscaled)Liger (full/unscaled)Liger (full/unscaled)Random Integration by…Random Integration by BatchRandom IntegrationRandom Integration3.8e-30.2530.5020.751100.250.50.751rawscaled
QC: Indicator table all clear

Automated checks on the benchmark run and its results: missing values, score scaling, metric ranges and similar. Errors are high-severity issues that usually need a maintainer's attention; warnings are lower-severity signals. Findings that are expected for this task are listed separately as silenced.

No high-severity issues. 438 of 438 checks passed.

Method info 12

BBKNN or batch balanced k nearest neighbours graph is built for each cell by identifying its k nearest neighbours within each defined batch separately, creating independent neighbour sets for each cell in each batch. These sets are then combined and processed with the UMAP algorithm for visualisation.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

ComBat uses an Empirical Bayes (EB) approach to correct for batch effects. It estimates batch-specific parameters by pooling information across genes in each batch and shrinks the estimates towards the overall mean of the batch effect estimates across all genes. These parameters are then used to adjust the data for batch effects, leading to more accurate and reproducible results.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

fastMNN performs a multi-sample PCA to reduce dimensionality, identifying MNN paris in the low-dimensional space, and then correcting the target batch towards the reference using locally weighted correction vectors. The corrected target batch is then merged with the reference. The process is repeated with the next target batch except for the PCA step.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

fastMNN performs a multi-sample PCA to reduce dimensionality, identifying MNN paris in the low-dimensional space, and then correcting the target batch towards the reference using locally weighted correction vectors. The corrected target batch is then merged with the reference. The process is repeated with the next target batch except for the PCA step.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

Harmony is a method that uses PCA to group the cells into multi-dataset clusters, and then computes cluster-specific linear correction factors. Each cell is then corrected by its cell-specific linear factor using the cluster-weighted average. The method keeps iterating these four steps until cell clusters are stable.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

LIGER or linked inference of genomic experimental relationships uses iNMF deriving and implementing a novel coordinate descent algorithm to efficiently do the factorization. Joint clustering is performed and factor loadings are normalised.

parameter sets tested full/unscaledhvg/unscaled

MNN first detects mutual nearest neighbours in two of the batches and infers a projection of the second onto the first batch. After that, additional batches are added iteratively.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

SCALEX is a method for integrating heterogeneous single-cell data online using a VAE framework. Its generalised encoder disentangles batch-related components from batch-invariant biological components, which are then projected into a common cell-embedding space.

parameter sets tested fullhvg

Scanorama is an extension of the MNN method. Other then MNN, it finds mutual nearest neighbours over all batches and embeds observations into a joint hyperplane.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

Scanorama is an extension of the MNN method. Other then MNN, it finds mutual nearest neighbours over all batches and embeds observations into a joint hyperplane.

parameter sets tested full/scaledfull/unscaledhvg/scaledhvg/unscaled

ScanVI is an extension of scVI but instead using a Bayesian semi-supervised approach for more principled cell annotation.

parameter sets tested full/unscaledhvg/unscaled

scVI combines a variational autoencoder with a hierarchical Bayesian model.

parameter sets tested full/unscaledhvg/unscaled
Control method info 5

Cells are embedded by PCA on the unintegrated data. A graph is built on this PCA embedding.

Cells are embedded as a one-hot encoding of celltype labels. A graph is then built on this embedding

Feature values, embedding coordinates, and graph connectivity are all randomly permuted

Feature values, embedding coordinates, and graph connectivity are all randomly permuted within each batch label

Feature values, embedding coordinates, and graph connectivity are all randomly permuted within each celltype label

Metric info 4
ARIhigher is betterLuecken et al., 2021

ARI (Adjusted Rand Index) compares the overlap of two clusterings. It considers both correct clustering overlaps while also counting correct disagreements between two clustering.

Graph connectivityhigher is betterLuecken et al., 2021

The graph connectivity metric assesses whether the kNN graph representation, G, of the integrated data connects all cells with the same cell identity label.

Isolated label F1higher is betterLuecken et al., 2021

Isolated cell labels are identified as the labels present in the least number of batches in the integration task. The score evaluates how well these isolated labels separate from other cell identities based on clustering.

NMIhigher is betterLuecken et al., 2021

NMI compares the overlap of two clusterings. We used NMI to compare the cell-type labels with Louvain clusters computed on the integrated dataset.

Dataset info 3
Immune (by batch) unlinked

Human immune cells from peripheral blood and bone marrow taken from 5 datasets comprising 10 batches across technologies (10X, Smart-seq2).

Lung (Viera Braga et al.) unlinked

Human lung scRNA-seq data from 3 datasets with 32,472 cells. From Vieira Braga et al. Technologies: 10X and Drop-seq.

Pancreas (by batch) unlinked

Human pancreatic islet scRNA-seq data from 6 datasets across technologies (CEL-seq, CEL-seq2, Smart-seq2, inDrop, Fluidigm C1, and SMARTER-seq).

References

  1. Open Problems for Single Cell Analysis Consortium. (2022). Open Problems. link ↗
  2. Haghverdi, L., Lun, A. T. L., Morgan, M. D., & Marioni, J. C. (2018). Batch effects in single-cell RNA-sequencing data are corrected by matching mutual nearest neighbors. Nature Biotechnology, 36(5), 421–427. 10.1038/nbt.4091 ↗
  3. Hie, B., Bryson, B., & Berger, B. (2019). Efficient integration of heterogeneous single-cell transcriptomes using Scanorama. Nature Biotechnology, 37(6), 685–691. 10.1038/s41587-019-0113-3 ↗
  4. Johnson, W. E., Li, C., & Rabinovic, A. (2006). Adjusting batch effects in microarray expression data using empirical Bayes methods. Biostatistics, 8(1), 118–127. 10.1093/biostatistics/kxj037 ↗
  5. Korsunsky, I., Millard, N., Fan, J., Slowikowski, K., Zhang, F., Wei, K., Baglaenko, Y., Brenner, M., ru Po-Loh, & Raychaudhuri, S. (2019). Fast, sensitive and accurate integration of single-cell data with Harmony. Nature Methods, 16(12), 1289–1296. 10.1038/s41592-019-0619-0 ↗
  6. Lopez, R., Regier, J., Cole, M. B., Jordan, M. I., & Yosef, N. (2018). Deep generative modeling for single-cell transcriptomics. Nature Methods, 15(12), 1053–1058. 10.1038/s41592-018-0229-2 ↗
  7. Luecken, M. D., Büttner, M., Chaichoompu, K., Danese, A., Interlandi, M., Mueller, M. F., Strobl, D. C., Zappia, L., Dugas, M., Colomé-Tatché, M., & Theis, F. J. (2021). Benchmarking atlas-level data integration in single-cell genomics. Nature Methods, 19(1), 41–50. 10.1038/s41592-021-01336-8 ↗
  8. Lun, A. (2019). A description of the theory behind the fastMNN algorithm. link ↗
  9. Polański, K., Young, M. D., Miao, Z., Meyer, K. B., Teichmann, S. A., & Park, J.-E. (2019). BBKNN: fast batch alignment of single cell transcriptomes. Bioinformatics. 10.1093/bioinformatics/btz625 ↗
  10. Welch, J. D., Kozareva, V., Ferreira, A., Vanderburg, C., Martin, C., & Macosko, E. Z. (2019). Single-Cell Multi-omic Integration Compares and Contrasts Features of Brain Cell Identity. Cell, 177(7), 1873-1887.e17. 10.1016/j.cell.2019.05.006 ↗
  11. Xiong, L., Tian, K., Li, Y., Ning, W., Gao, X., & Zhang, Q. C. (2022). Online single-cell data integration through projecting heterogeneous datasets into a common cell-embedding space. Nature Communications, 13(1). 10.1038/s41467-022-33758-z ↗
  12. Xu, C., Lopez, R., Mehlman, E., Regier, J., Jordan, M. I., & Yosef, N. (2021). Probabilistic harmonization and annotation of single-cell transcriptomics data with deep generative models. Molecular Systems Biology, 17(1). 10.15252/msb.20209620 ↗