Skip to contents

SeuratIntegrate provides access to R and Python methods to correct batch effect:

Comprehensive overview of the integration methods provided by SeuratIntegrate
Method Type Implementation Underlying algorithm Reference
ComBat R logo sva (Bioconductor) Empirical Bayes adjustment Johnson et al., 2007
Harmony R logo harmony (CRAN) Iterative embedding correction Korsunsky et al., 2019
MNN R logo batchelor (Bioconductor) Mutual Nearest Neighbors Haghverdi et al., 2018
BBKNN Python logo bbknn (GitHub) Batch-balanced nearest neighbors Polański et al., 2020
scVI Python logo scvi-tools (GitHub) Variational autoencoder Lopez et al., 2018
scANVI Python logo scvi-tools (GitHub) Semi-supervised variational autoencoder Xu et al., 2021
Scanorama Python logo scanorama (GitHub) Manifold alignment Hie et al., 2019
trVAE Python logo scArches (GitHub) Conditional variational autoencoder Lotfollahi et al., 2020

SeuratIntegrate provides a new interface to integrate the layers of an object: DoIntegrate(). Moreover, SeuratIntegrate is compatible with CCA and RPCA (included in Seurat) and FastMNN (from SeuratWrappers)

The table below summarizes the integrations methods you can run with DoIntegrate() along with the expected inputs and produced outputs of each method.

Comprehensive overview of inputs and outputs of the integration methods
Method Package Function Input Output(s)
ComBat SeuratIntegrate CombatIntegration() Layer Layer with corrected counts
Harmony SeuratIntegrate HarmonyIntegration() PCA DimReduc (corrected PCA)
MNN SeuratIntegrate MNNIntegration() Layer Layer with corrected counts
BBKNN SeuratIntegrate bbknnIntegration() PCA Graphs (edge weights can be distances or connectivities)
scVI SeuratIntegrate scVIIntegration() Layer DimReduc (latent space)
scANVI SeuratIntegrate scANVIIntegration() Layer DimReduc (latent space)
Scanorama SeuratIntegrate ScanoramaIntegration() Layer

Layer with corrected counts

DimReduc (corrected embedding)

trVAE SeuratIntegrate trVAEIntegration()

Data layer
(recon.loss = "mse")

Counts layer
(otherwise)

DimReduc (latent space)
CCA Seurat CCAIntegration() PCA DimReduc (corrected PCA)
RPCA Seurat RPCAIntegration() PCA DimReduc (corrected PCA)
FastMNN SeuratWrappers FastMNNIntegration() Layer

Layer with corrected counts

DimReduc (corrected PCA)