nfcore/imcyto is a bioinformatics analysis pipeline used for image segmentation and extraction of single cell expression data. This pipeline was generated for Imaging Mass Cytometry data, however, it is flexible enough to be applicable to other types of imaging data (e.g. immunofluorescence/immunohistochemistry data).
The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.
Split image acquisition output files (
txt) by ROI and convert to individual
tifffiles for channels with names matching those defined in user-provided
metadata.csvfile. Full and ilastik stacks will be generated separately for all channels being analysed in single cell expression analysis, and for channels being used to generate the cell mask, respectively (imctools).
Apply pre-processing filters to full stack
tifffiles in ilastik stack to generate a composite RGB image representative of the plasma membranes and nuclei of all cells (CellProfiler).
Use composite cell map to apply pixel classification for membranes, nuclei or background, and save probabilities map as
tiff(Ilastik). If CellProfiler modules alone are deemed sufficient to achieve a reliable segmentation mask this step can be bypassed using the
--skip_ilastikparameter in which case the composite
tiffgenerated in step 3 will be used in subsequent steps instead.
tiffand pre-processed full stack
tifffor segmentation to generate a single cell mask as
tiff, and subsequently overlay cell mask onto full stack
tiffto generate single cell expression data in
iii. Download the pipeline and test it on a minimal dataset with a single command
nextflow run nf-core/imcyto -profile test,<docker/singularity/institute>
Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use
-profile institutein your command. This will enable either
singularityand set the appropriate execution settings for your local compute environment.
iv. Start running your own analysis!
nextflow run nf-core/imcyto \ --input "./inputs/*.mcd" \ --metadata './inputs/metadata.csv' \ --full_stack_cppipe './plugins/full_stack_preprocessing.cppipe' \ --ilastik_stack_cppipe './plugins/ilastik_stack_preprocessing.cppipe' \ --segmentation_cppipe './plugins/segmentation.cppipe' \ --ilastik_training_ilp './plugins/ilastik_training_params.ilp' \ --plugins './plugins/cp_plugins/' \ -profile <docker/singularity/institute>
See usage docs for all of the available options when running the pipeline.
The nf-core/imcyto pipeline comes with documentation about the pipeline, found in the
- Pipeline configuration
- Running the pipeline
- Output and how to interpret the results
Many thanks to others who contributed as a result of the Crick Data Challenge (Jan 2019) - Gavin Kelly, Becky Saunders, Katey Enfield, Alix Lemarois, Nuria Folguera Blasco, Andre Altmann.
It would not have been possible to develop this pipeline without the guidelines, scripts and plugins provided by the Bodenmiller Lab. Thank you too!
If you would like to contribute to this pipeline, please see the contributing guidelines.
You can cite the
nf-core pre-print as follows:
Ewels PA, Peltzer A, Fillinger S, Alneberg JA, Patel H, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. nf-core: Community curated bioinformatics pipelines. bioRxiv. 2019. p. 610741. doi: 10.1101/610741.
An extensive list of references for the tools used by the pipeline can be found in the