Table 1.

Overview of the batch correction methods

BBKNNCombatComBat-seqHarmonyLIGERMNNSCVISeurat
Inputk-NN graphNormalized count matrixRaw count matrixNormalized count matrixNormalized count matrixNormalized count matrixRaw count matrixNormalized count matrix
Custom embeddingNoneNoneNoneCorrected embeddingMetagene/factor loadingsNoneLearned lower dimensional latent spaceCCA
Correction objectk-NN graphCount matrixCount matrixEmbeddingEmbeddingCount matrixEmbeddingEmbedding
Correction methodUMAP on merged neighborhood graphEmpirical Bayes—linear correction method on the count valuesNegative binomial regression model on each geneSoft k-means—linear batch correction within small clusters in the embedded spaceQuantile alignment of factor loadingsMutual nearest neighbors—linear correctionVariational autoencoder—models the batch effect in a low dimensional space using a deep learning model; a new count matrix is imputed from the modelAligning canonical basis vectors to correct the embedding
ReturnsCorrected k-NN graphCorrected count matrixCorrected count matrixCorrected embeddingCorrected embeddingCorrected count matrixCorrected count matrix and corrected embeddingCorrected count matrix
Changes count matrixNoYesYesNoNoYesYes/Imputes new valuesYes

[i] (Input) Type of data that that particular method uses as input; the method may perform additional preprocessing steps on the input object before any calculations are performed, (Custom embedding) particular lower level embedding, if any, which the data is projected onto, (Correction object) actual data object that the method uses to make corrections, (Correction method) informal description of the particular method used for batch correction, (Returns) type of object the method returns, (Changes count matrix) whether the method edits or returns a new count matrix to be used instead of the uncorrected count matrix in any subsequent steps in the workflow.