SeuratIntegrate provides access to R and Python methods to correct batch effect:
Method | Type | Implementation | Underlying algorithm | Reference |
---|---|---|---|---|
ComBat | sva (Bioconductor) | Empirical Bayes adjustment | Johnson et al., 2007 | |
Harmony | harmony (CRAN) | Iterative embedding correction | Korsunsky et al., 2019 | |
MNN | batchelor (Bioconductor) | Mutual Nearest Neighbors | Haghverdi et al., 2018 | |
BBKNN | bbknn (GitHub) | Batch-balanced nearest neighbors | Polański et al., 2020 | |
scVI | scvi-tools (GitHub) | Variational autoencoder | Lopez et al., 2018 | |
scANVI | scvi-tools (GitHub) | Semi-supervised variational autoencoder | Xu et al., 2021 | |
Scanorama | scanorama (GitHub) | Manifold alignment | Hie et al., 2019 | |
trVAE | 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.
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 Counts layer |
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) |