poss_dataset_ids = dataset_info
.map(d => d.dataset_id)
.filter(d => results.map(r => r.dataset_id).includes(d))
poss_method_ids = method_info
.map(d => d.method_id)
.filter(d => results.map(r => r.method_id).includes(d))
poss_metric_ids = metric_info
.map(d => d.metric_id)
.filter(d => results.map(r => Object.keys(r.scaled_scores)).flat().includes(d))
Batch integration embed
Removing batch effects while preserving biological variation (embedding output)
3 datasets · 32 methods · 8 control methods · 10 metrics
Info
Repository
v1.0.0
MIT
Task info Method info Metric info Dataset info Results
This is a sub-task of the overall batch integration task. Batch (or data) integration integrates 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 joint embeddings, and includes methods that canonically output corrected feature matrices with subsequent postprocessing to generate a joint embedding. Other sub-tasks for batch integration can be found for:
- graphs, and
- corrected features
This sub-task was taken from a benchmarking study of data integration methods.
Summary
Display settings
Filter datasets
Filter methods
Filter metrics
Results
Results table of the scores per method, dataset and metric (after scaling). Use the filters to make a custom subselection of methods and datasets. The “Overall mean” dataset is the mean value across all datasets.
Dataset info
Show
Immune (by batch)
Human immune cells from peripheral blood and bone marrow taken from 5 datasets comprising 10 batches across technologies (10X, Smart-seq2) (Luecken et al. 2021).
Lung (Viera Braga et al.)
Human lung scRNA-seq data from 3 datasets with 32,472 cells. From Vieira Braga et al. Technologies: 10X and Drop-seq (Luecken et al. 2021).
Pancreas (by batch)
Human pancreatic islet scRNA-seq data from 6 datasets across technologies (CEL-seq, CEL-seq2, Smart-seq2, inDrop, Fluidigm C1, and SMARTER-seq) (Luecken et al. 2021).
Method info
Show
Combat (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Johnson, Li, and Rabinovic 2006)
Combat (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Johnson, Li, and Rabinovic 2006)
Combat (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Johnson, Li, and Rabinovic 2006)
Combat (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Johnson, Li, and Rabinovic 2006)
FastMNN embed (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Lun 2019)
FastMNN embed (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Lun 2019)
FastMNN embed (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Lun 2019)
FastMNN embed (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Lun 2019)
Harmony (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Korsunsky et al. 2019)
Harmony (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Korsunsky et al. 2019)
Harmony (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Korsunsky et al. 2019)
Harmony (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Korsunsky et al. 2019)
Liger (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Welch et al. 2019)
Liger (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Welch et al. 2019)
MNN (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Haghverdi et al. 2018)
MNN (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Haghverdi et al. 2018)
MNN (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Haghverdi et al. 2018)
MNN (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Haghverdi et al. 2018)
SCALEX (full)
Repository · Source Code · Container · v1.0.0
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 (Xiong et al. 2022)
SCALEX (hvg)
Repository · Source Code · Container · v1.0.0
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 (Xiong et al. 2022)
Scanorama (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama gene output (full/scaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama gene output (full/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama gene output (hvg/scaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
Scanorama gene output (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
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 (Hie, Bryson, and Berger 2019)
scANVI (full/unscaled)
Repository · Source Code · Container · v1.0.0
ScanVI is an extension of scVI but instead using a Bayesian semi-supervised approach for more principled cell annotation (Xu et al. 2021)
scANVI (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
ScanVI is an extension of scVI but instead using a Bayesian semi-supervised approach for more principled cell annotation (Xu et al. 2021)
scVI (full/unscaled)
Repository · Source Code · Container · v1.0.0
scVI combines a variational autoencoder with a hierarchical Bayesian model (Lopez et al. 2018)
scVI (hvg/unscaled)
Repository · Source Code · Container · v1.0.0
scVI combines a variational autoencoder with a hierarchical Bayesian model (Lopez et al. 2018)
Control method info
Show
Random Integration by Batch
Repository · Source Code · Container · v1.0.0
Feature values, embedding coordinates, and graph connectivity are all randomly permuted within each batch label (Open Problems for Single Cell Analysis Consortium 2022)
Random Embedding by Celltype
Repository · Source Code · Container · v1.0.0
Cells are embedded as a one-hot encoding of celltype labels (Open Problems for Single Cell Analysis Consortium 2022)
Random Embedding by Celltype (with jitter)
Repository · Source Code · Container · v1.0.0
Cells are embedded as a one-hot encoding of celltype labels, with a small amount of random noise added to the embedding (Open Problems for Single Cell Analysis Consortium 2022)
Random Graph by Celltype
Repository · Source Code · Container · v1.0.0
Cells are embedded as a one-hot encoding of celltype labels. A graph is then built on this embedding (Open Problems for Single Cell Analysis Consortium 2022)
Random Integration by Celltype
Repository · Source Code · Container · v1.0.0
Feature values, embedding coordinates, and graph connectivity are all randomly permuted within each celltype label (Open Problems for Single Cell Analysis Consortium 2022)
No Integration
Repository · Source Code · Container · v1.0.0
Cells are embedded by PCA on the unintegrated data. A graph is built on this PCA embedding (Open Problems for Single Cell Analysis Consortium 2022)
No Integration by Batch
Repository · Source Code · Container · v1.0.0
Cells are embedded by computing PCA independently on each batch (Open Problems for Single Cell Analysis Consortium 2022)
Random Integration
Repository · Source Code · Container · v1.0.0
Feature values, embedding coordinates, and graph connectivity are all randomly permuted (Open Problems for Single Cell Analysis Consortium 2022)
Metric info
Show
ARI
ARI (Adjusted Rand Index) compares the overlap of two clusterings. It considers both correct clustering overlaps while also counting correct disagreements between two clustering (Luecken et al. 2021).
Cell Cycle Score
The cell-cycle conservation score evaluates how well the cell-cycle effect can be captured before and after integration (Luecken et al. 2021).
Graph connectivity
The graph connectivity metric assesses whether the kNN graph representation, G, of the integrated data connects all cells with the same cell identity label (Luecken et al. 2021).
Isolated label F1
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 (Luecken et al. 2021).
Isolated label Silhouette
This score evaluates the compactness for the label(s) that is(are) shared by fewest batches. It indicates how well rare cell types can be preserved after integration (Luecken et al. 2021).
kBET
kBET determines whether the label composition of a k nearest neighborhood of a cell is similar to the expected (global) label composition. The test is repeated for a random subset of cells, and the results are summarized as a rejection rate over all tested neighborhoods (Büttner et al. 2018).
NMI
NMI compares the overlap of two clusterings. We used NMI to compare the cell-type labels with Louvain clusters computed on the integrated dataset (Luecken et al. 2021).
PC Regression
This compares the explained variance by batch before and after integration. It returns a score between 0 and 1 (scaled=True) with 0 if the variance contribution hasn’t changed. The larger the score, the more different the variance contributions are before and after integration (Luecken et al. 2021).
Silhouette
The absolute silhouette with is computed on cell identity labels, measuring their compactness (Luecken et al. 2021).
Batch ASW
The absolute silhouette width is computed over batch labels per cell. As 0 then indicates that batches are well mixed and any deviation from 0 indicates a batch effect, we use the 1-abs(ASW) to map the score to the scale [0;1] (Luecken et al. 2021).
Quality control results
Show
✓ All checks succeeded!
Normalisation visualisation
Show
References
Büttner, Maren, Zhichao Miao, F. Alexander Wolf, Sarah A. Teichmann, and Fabian J. Theis. 2018. “A Test Metric for Assessing Single-Cell RNA-Seq Batch Correction.” Nature Methods 16 (1): 43–49. https://doi.org/10.1038/s41592-018-0254-1.
Haghverdi, Laleh, Aaron T L Lun, Michael D Morgan, and John C Marioni. 2018. “Batch Effects in Single-Cell RNA-Sequencing Data Are Corrected by Matching Mutual Nearest Neighbors.” Nature Biotechnology 36 (5): 421–27. https://doi.org/10.1038/nbt.4091.
Hie, Brian, Bryan Bryson, and Bonnie Berger. 2019. “Efficient Integration of Heterogeneous Single-Cell Transcriptomes Using Scanorama.” Nature Biotechnology 37 (6): 685–91. https://doi.org/10.1038/s41587-019-0113-3.
Johnson, W. Evan, Cheng Li, and Ariel Rabinovic. 2006. “Adjusting Batch Effects in Microarray Expression Data Using Empirical Bayes Methods.” Biostatistics 8 (1): 118–27. https://doi.org/10.1093/biostatistics/kxj037.
Korsunsky, Ilya, Nghia Millard, Jean Fan, Kamil Slowikowski, Fan Zhang, Kevin Wei, Yuriy Baglaenko, Michael Brenner, Po-ru Loh, and Soumya Raychaudhuri. 2019. “Fast, Sensitive and Accurate Integration of Single-Cell Data with Harmony.” Nature Methods 16 (12): 1289–96. https://doi.org/10.1038/s41592-019-0619-0.
Lopez, Romain, Jeffrey Regier, Michael B. Cole, Michael I. Jordan, and Nir Yosef. 2018. “Deep Generative Modeling for Single-Cell Transcriptomics.” Nature Methods 15 (12): 1053–58. https://doi.org/10.1038/s41592-018-0229-2.
Luecken, Malte D., M. Büttner, K. Chaichoompu, A. Danese, M. Interlandi, M. F. Mueller, D. C. Strobl, et al. 2021. “Benchmarking Atlas-Level Data Integration in Single-Cell Genomics.” Nature Methods 19 (1): 41–50. https://doi.org/10.1038/s41592-021-01336-8.
Lun, Aaron. 2019. “A Description of the Theory Behind the fastMNN Algorithm.” https://marionilab.github.io/FurtherMNN2018/theory/description.html.
Open Problems for Single Cell Analysis Consortium. 2022. “Open Problems.” https://openproblems.bio.
Welch, Joshua D., Velina Kozareva, Ashley Ferreira, Charles Vanderburg, Carly Martin, and Evan Z. Macosko. 2019. “Single-Cell Multi-Omic Integration Compares and Contrasts Features of Brain Cell Identity.” Cell 177 (7): 1873–1887.e17. https://doi.org/10.1016/j.cell.2019.05.006.
Xiong, Lei, Kang Tian, Yuzhe Li, Weixi Ning, Xin Gao, and Qiangfeng Cliff Zhang. 2022. “Online Single-Cell Data Integration Through Projecting Heterogeneous Datasets into a Common Cell-Embedding Space.” Nature Communications 13 (1). https://doi.org/10.1038/s41467-022-33758-z.
Xu, Chenling, Romain Lopez, Edouard Mehlman, Jeffrey Regier, Michael I Jordan, and Nir Yosef. 2021. “Probabilistic Harmonization and Annotation of Single-Cell Transcriptomics Data with Deep Generative Models.” Molecular Systems Biology 17 (1). https://doi.org/10.15252/msb.20209620.