Skip to main content

Table 1 Description of the 14 batch-effect correction methods

From: A benchmark of batch-effect correction methods for single-cell RNA sequencing data

Tools

Programming language

Batch-effect-corrected output

Methods

Reference package version

Seurat 2 (CCA, MultiCCA)

R

Normalized canonical components (CCs)

Canonical correlation analysis and dynamic time warping

Butler et al. [4], Seurat package version 2.3.4

Seurat 3 (Integration)

R

Normalized gene expression matrix

Canonical correlation analysis and mutual nearest neighbors-anchors

Stuart et al. [12], Seurat package version 3.0.1

Harmony

R

Normalized feature reduction vectors (Harmony)

Iterative clustering in dimensionally reduced space

Korsunsky et al. [13], Harmony version 0.99.9

MNN Correct

R

Normalized gene expression matrix

Mutual nearest neighbor in gene expression space

Haghverdi et al. [5], Scran package version 1.12.0

fastMNN

R

Normalized principal components

Mutual nearest neighbor in dimensionally reduced space

Haghverdi et al. [5], Lun ATL [7], Scran package version 1.12.0

ComBat

R

Normalized gene expression matrix

Adjusts for known batches using an empirical Bayesian framework

Johnson et al. [1]

limma

R

Normalized gene expression matrix

Linear model/empirical Bayes model

Smyth et al. [2], limma version 3.38.3

scGen

Python

Normalized gene expression matrix

Variational auto-encoders neural network model and latent space

Lotfollahi et al. [16], 2019, scGen version 1.0.0

Scanorama

Python/R

Normalized gene expression matrix

Mutual nearest neighbor and panoramic stitching

Hie et al. [9], Scanorama version 1.4.

MND-ResNet

Python

Normalized principal components

Residual neural network for calibration

Shaham et al. [15] updated code to Python 3

ZINB-WaVE

R

Normalized feature reduction vectors (ZINB-WaVE)/normalized gene expression matrix

Zero-inflated negative binomial model, extension of RUV model

Risso et al. [6], ZINB-WaVE version 1.6.0

scMerge

R

Normalized gene expression matrix

Stably expressed genes (scSEGs) and RUVIII model

Lin et al. [18], scMerge version 1.1.3

LIGER

R

Normalized feature reduction vectors (LIGER)

Integrative non-negative matrix factorization (iNMF) and joint clustering + quantile alignment

Welch et al. [14], liger version 1.0

BBKNN

Python/R

Connectivity graph and normalized dimension reduction vectors (UMAP)

Batch balanced k-nearest neighbors

Polański et al. [10], bioRxiv. BBKNN version 1.3.2