Analysis workflow for IMC data
This workflow highlights the use of common R/Bioconductor packages to analyze single-cell data obtained from segmented multi-channel images. We will not perform multi-channel image processing and segmentation in R but rather link to available approaches in Section 3. While we use imaging mass cytometry (IMC) data as an example, the concepts presented here can be applied to images obtained by other highly-multiplexed imaging technologies (e.g. CODEX, MIBI, mIF, etc.).
Reproducible code written in R is available from Section 4 onwards and the workflow can be largely divided into the following parts:
- Preprocessing (reading in the data, spillover correction)
- Image- and cell-level quality control, low-dimensional visualization
- Sample/batch effect correction
- Cell phenotyping via clustering or classification
- Single-cell and image visualization
- Spatial analyses
Multi-channel image and spatial, single-cell analysis is complex and we highlight an example workflow here. However, this workflow is not complete and does not cover all possible aspects of exploratory data analysis. Instead, we demonstrate this workflow as a solid basis that supports other aspects of data analysis. It offers interoperability with other packages for single-cell and spatial analysis and the user will need to become familiar with the general framework to efficiently analyse data obtained from multiplexed imaging technologies.
This workflow has been actively developed until December 2023. At that time
we used the most recent (
v.0.16.0) version of
steinbock to process the
example data. If you are having issues when using newer versions of
please open an issue here.
We provide the workflow as an open-source resource. It does not mean that this workflow is tested on all possible datasets or biological questions and there exist multiple ways of analysing data. It is therefore recommended to check the results and question their biological interpretation.
If you notice an issue or missing information, please report an issue here. We also welcome contributions in form of pull requests or feature requests in form of issues. Have a look at the source code at:
The workflow has been published in
https://www.nature.com/articles/s41596-023-00881-0 which you can cite as follows:
Windhager, J., Zanotelli, V.R.T., Schulz, D. et al. An end-to-end workflow for multiplexed image processing and analysis. Nat Protoc (2023).
Version 1.0.0 [2023-06-30]
- First stable release of the workflow
Version 1.0.1 [2023-10-19]
- Added seed before
predictcall after training a classifier
Version 1.0.2 [2023-11-27]
- Added developers documentation
- Added more ways to visualize cell type composition per CN