R/Bioconductor package to spatially visualize pixel- and cell-level information obtained from highly multiplexed imaging.
Its official package page can be found here: https://bioconductor.org/packages/cytomapper
Highly multiplexed imaging acquires single-cell expression values of selected proteins in a spatially-resolved fashion. These measurements can be visualized across multiple length-scales. First, pixel-level intensities represent the spatial distributions of feature expression with highest resolution. Second, after segmentation, expression values or cell-level metadata (e.g. cell-type information) can be visualized on segmented cell areas. This package contains functions for the visualization of multiplexed read-outs and cell-level information obtained by multiplexed imaging cytometry. The main functions of this package allow 1. the visualization of pixel-level information across multiple channels (plotPixels
), 2. the display of cell-level information (expression and/or metadata) on segmentation masks (plotCells
) and 3. gating + visualization of cells on images (cytomapperShiny
).
The cytomapper
package provides toy data that were generated using imaging mass cytometry [1] taken from Damond et al. [2]. For further instructions to process raw imaging mass cytometry data, please refer to the IMC Segmentation Pipeline and the histoCAT as alternative visualization tool.
The cytomapper
package requires R version >= 4.0. It builds on data objects and functions contained in the SingleCellExperiment and EBImage packages. Therefore, these packages need to be installed (see below).
The cytomapper
package can be installed from Bioconductor
via:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("cytomapper")
The development version of the cytomapper
package can be installed from Github using remotes
in R. Please make sure to also install its dependecies:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("EBImage", "SingleCellExperiment"))
# install.packages("remotes")
remotes::install_github("BodenmillerGroup/cytomapper", build_vignettes = TRUE, dependencies = TRUE)
To load the package in your R session, type the following:
The cytomapper
package offers three main functions: plotPixels
, plotCells
and cytomapperShiny
.
plotPixels
The function takes a CytoImageList
object (available via the cytomapper
package) containing multi-channel images representing pixel-level expression values and optionally a CytoImageList
object containing segementation masks and a SingleCellExperiment
object containing cell-level metadata.
It allows the visualization of pixel-level information of up to six channels and outlining cells based on cell-level metadata. To see the full functionality in R type:
?plotPixels
plotCells
This function takes a CytoImageList
object containing segementation masks and a SingleCellExperiment
object containing cell-level mean expression values and metadata information.
It allows the visualization of cell-level expression data and metadata information. To see the full functionality in R type:
?plotCells
cytomapperShiny
This Shiny application allows gating of cells based on their expression values and visualises selected cells on their corresponding images.
It requires at least a SingleCellExperiment
as input and optionally CytoImageList
objects containing segmentation masks and multi-channel images. For full details, please refer to:
?cytomapperShiny
For more information on processing imaging mass cytometry data, please refer to the IMC Segmentation Pipeline. This pipeline generates multi-channel tiff stacks containing the pixel-level expression values and segementation masks that can be used for the plotting functions in the cytomapper
package.
More information on how to work with and generate a SingleCellExperiment
object can be obtained from: Orchestrating Single-Cell Analysis with Bioconductor
An extensive introduction to image analysis in R can be found at: Introduction to EBImage
A full overview on the analysis workflow and functionality of the cytomapper
package can be found by typing:
vignette("cytomapper")
For common issues regarding the cytomapper
package, please refer to the wiki.
To see example usage of the cytomapper
package, please refer to its publication repository and a number of workshop demonstrations.
Please cite cytomapper
as:
Nils Eling, Nicolas Damond, Tobias Hoch, Bernd Bodenmiller (2020). cytomapper: an R/Bioconductor package for visualization of highly
multiplexed imaging data. Bioinformatics, doi: 10.1093/bioinformatics/btaa1061