spillR: spillover compensation in mass cytometry data
Related Experiment Video
Updated: Jun 24, 2025

High-Dimensionality Flow Cytometry for Immune Function Analysis of Dissected Implant Tissues
Published on: September 15, 2021
Marco Guazzini1, Alexander G Reisach2, Sebastian Weichwald3
1Department of Advanced Computing Sciences, Maastricht University, Maastricht, The Netherlands.
Motivation:
Channel interference in mass cytometry can cause spillover and may result in miscounting of protein markers. Chevrier et al. introduce an experimental and computational procedure to estimate and compensate for spillover implemented in their R package CATALYST. They assume spillover can be described by a spillover matrix that encodes the ratio between the signal in the unstained spillover receiving and stained spillover emitting channel. They estimate the spillover matrix from experiments with beads. We propose to skip the matrix estimation step and work directly with the full bead distributions. We develop a nonparametric finite mixture model and use the mixture components to estimate the probability of spillover. Spillover correction is often a pre-processing step followed by downstream analyses, and choosing a flexible model reduces the chance of introducing biases that can propagate downstream.
Results:
We implement our method in an R package spillR using expectation-maximization to fit the mixture model. We test our method on simulated, semi-simulated, and real data from CATALYST. We find that our method compensates low counts accurately, does not introduce negative counts, avoids overcompensating high counts, and preserves correlations between markers that may be biologically meaningful.
Availability And Implementation:
Our new R package spillR is on bioconductor at bioconductor.org/packages/spillR. All experiments and plots can be reproduced by compiling the R markdown file spillR_paper.Rmd at github.com/ChristofSeiler/spillR_paper.

