mcmicro

An end-to-end processing pipeline that transforms multi-channel whole-slide images into single-cell data.

https://github.com/nf-core/mcmicro

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: nature.com
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

bioformats image-analysis image-processing microscopy multiplexed-imaging nextflow nf-core ome-tiff pipeline registration segmentation single-cell spatial stitching tma workflow

Keywords from Contributors

pipelines workflows dsl2 nf-test
Last synced: 6 months ago · JSON representation ·

Repository

An end-to-end processing pipeline that transforms multi-channel whole-slide images into single-cell data.

Basic Info
  • Host: GitHub
  • Owner: nf-core
  • License: mit
  • Language: Nextflow
  • Default Branch: dev
  • Homepage: https://nf-co.re/mcmicro
  • Size: 2.99 MB
Statistics
  • Stars: 19
  • Watchers: 167
  • Forks: 20
  • Open Issues: 34
  • Releases: 0
Topics
bioformats image-analysis image-processing microscopy multiplexed-imaging nextflow nf-core ome-tiff pipeline registration segmentation single-cell spatial stitching tma workflow
Created over 2 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

nf-core/mcmicro

GitHub Actions CI Status GitHub Actions Linting StatusAWS CICite with Zenodo nf-test

Nextflow nf-core template version run with conda run with docker run with singularity Launch on Seqera Platform

Get help on SlackFollow on BlueskyFollow on MastodonWatch on YouTube

Introduction

[!WARNING] We are currently in the process of porting the original MCMICRO to nf-core. This pipeline is therefore in active development.

nf-core/mcmicro is a nextflow pipeline for processing highly-multiplexed imaging data, as produced by technologies such as Cycif, MIBI, CODEX, SeqIF among others.

If you want to run the original MCMICRO pipeline outside of nf-core, please see https://mcmicro.org/.

The nf-core/mcmicro pipeline is an end-to-end processing pipeline that transforms multi-channel whole-slide images into single-cell data. It takes samplesheet and markersheet files as input and perfoms registration, segmentation and quantification. Multiple segmentation modules are available and can be run in parallel. The pipeline can also optionally perform background and shading correction, background subtraction, and supports tissue microarrays. It returns a pre-segmentation image file, a segmentation mask image, and a cell x feature array spreadsheet.

nf-core/mcmicro metro diagram

The MC in MCMICRO stands for 'Multiple Choice' and that refers to the fact that there will be multiple module options available for many steps in the pipeline. The currently supported options are provided in parentheses for required steps.

  1. Registration (Ashlar)
  2. Segmentation (Cellpose, Mesmer)
  3. Quantification (MCQuant)

Usage

[!NOTE] If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

First, prepare a samplesheet and markersheet with your input data that looks as follows:

samplesheet.csv:

```csv sample,cyclenumber,channelcount,image_tiles TEST1,1,4,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/imaging/ome-tiff/cycif-tonsil-cycle1.ome.tif

```

Each row of the samplesheet represents a single cycle ome.tiff microscopy image file. The first column sample is the sample identifier. It can be repeated in multiple rows for samples with multiple cycles. The second column cycle_number is a number corresponding to the cycle number of the image. The third column channel_count is a count of the number of channels in the image. The fourth column image_tiles is a path or URL to the input image file.

markersheet.csv:

csv channel_number,cycle_number,marker_name 1,1,DNA 1 2,1,Na/K ATPase 3,1,CD3 4,1,CD45RO

Each row of the markersheet represents a single channel in the associated sample image. The first column channel_number is an identifier for the respective channel. The second column cycle_number corresponds to the cycle number of the image and it must match the cycle_number in the supplied samplesheet. The third column marker_name is the name of the marker for the given channel and cycle.

[!WARNING] Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

Now, you can run the pipeline using:

bash nextflow run nf-core/mcmicro \ -profile <docker/singularity/.../institute> \ --input_cycle samplesheet.csv \ --marker_sheet markers.csv \ --outdir <OUTDIR>

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

nf-core/mcmicro was written by Rob Young and Jeremy Muhlich from the Laboratory of Systems Pharmacology at Harvard Medical School. It is based on version 1.0 of mcmicro (labsyspharm/mcmicro) which was also developed there.

We thank the following people for their assistance in the development of this pipeline:

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don't hesitate to get in touch on the Slack #mcmicro channel (you can join with this invite).

Citations

If you use nf-core/mcmicro for your analysis, please cite it using the following article: Schapiro et al. 2022 Nat. Methods

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.

Owner

  • Name: nf-core
  • Login: nf-core
  • Kind: organization
  • Email: core@nf-co.re

A community effort to collect a curated set of analysis pipelines built using Nextflow.

Citation (CITATIONS.md)

# nf-core/mcmicro: Citations

## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)

> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031.

## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/)

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## Pipeline tools

- [BaSiCPy](https://basicpy.readthedocs.io/en/stable/)

  > Peng, T., Thorn, K., Schroeder, T., Wang, L., Theis, F. J., Marr, C., Navab, N. A BaSiC Tool for Background and Shading Correction of Optical Microscopy Images. Nature Communication 2017 June 08; 8(1):14836. doi: [10.1038/ncomms14836](http://doi.org/10.1038/ncomms14836).

- [ASHLAR](https://labsyspharm.github.io/ashlar/)

  > Muhlich, J. L., Chen, Y., Yapp, C., Russell, D., Santagata, S., Sorger, P. K. Stitching and registering highly multiplexed whole-slide images of tissues and tumors using ASHLAR. Bioinformatics 2022 October; 38(19):4613–4621. doi: [10.1093/bioinformatics/btac544](https://doi.org/10.1093/bioinformatics/btac544).

- [Backsub](https://github.com/SchapiroLabor/Background_subtraction)

  > Schapiro, D., Sokolov, A., Yapp, C. et al. MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nat Methods 2022; 19:311–315. doi: [10.1038/s41592-021-01308-y](https://doi.org/10.1038/s41592-021-01308-y)

- [Coreograph](https://github.com/HMS-IDAC/UNetCoreograph)

  > Schapiro, D., Sokolov, A., Yapp, C. et al. MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nat Methods 2022; 19:311–315. doi: [10.1038/s41592-021-01308-y](https://doi.org/10.1038/s41592-021-01308-y)

- [Cellpose](https://cellpose.readthedocs.io/en/latest/index.html)

  > Pachitariu, M., Stringer, C. Cellpose 2.0: how to train your own model. Nat Methods 2022; 19:1634–1641. doi: [10.1038/s41592-022-01663-4](https://doi.org/10.1038/s41592-022-01663-4)

- [Mesmer](https://deepcell.readthedocs.io/en/master/)

  > Greenwald, N.F., Miller, G., Moen, E. et al. Whole-cell segmentation of tissue images with human-level performance using large-scale data annotation and deep learning. Nat Biotechnol 2022; 40:555–565. doi: [10.1038/s41587-021-01094-0](https://doi.org/10.1038/s41587-021-01094-0)

- [MCQuant](https://github.com/labsyspharm/quantification)

  > Schapiro, D., Sokolov, A., Yapp, C. et al. MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nat Methods 2022; 19:311–315. doi: [10.1038/s41592-021-01308-y](https://doi.org/10.1038/s41592-021-01308-y)

- [SciMap](https://scimap.xyz/)

  > Nirmal et al. SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data. Journal of Open Source Software 2024; 9(97):6604, doi: [10.21105/joss.06604](https://doi.org/10.21105/joss.06604)

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

  > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

  > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

  > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

  > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

  > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

  > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

## Test Data

> Schapiro, D., Sokolov, A., Yapp, C. et al. MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nat Methods 2022; 19:311–315. doi: [10.1038/s41592-021-01308-y](https://doi.org/10.1038/s41592-021-01308-y)

GitHub Events

Total
  • Issues event: 8
  • Watch event: 10
  • Delete event: 1
  • Issue comment event: 37
  • Push event: 18
  • Pull request review event: 79
  • Pull request review comment event: 73
  • Pull request event: 36
  • Fork event: 3
  • Create event: 8
Last Year
  • Issues event: 8
  • Watch event: 10
  • Delete event: 1
  • Issue comment event: 37
  • Push event: 18
  • Pull request review event: 79
  • Pull request review comment event: 73
  • Pull request event: 36
  • Fork event: 3
  • Create event: 8

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 30
  • Total Committers: 5
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.5
Past Year
  • Commits: 30
  • Committers: 5
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Florian f****o@g****m 15
Florian Wuennemann f****e@g****m 8
nf-core-bot c****e@n****e 5
Adam Taylor a****r@s****g 1
Jeremy Muhlich j****h@b****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 30
  • Total pull requests: 54
  • Average time to close issues: 4 days
  • Average time to close pull requests: 14 days
  • Total issue authors: 8
  • Total pull request authors: 11
  • Average comments per issue: 0.47
  • Average comments per pull request: 1.43
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 25
  • Average time to close issues: N/A
  • Average time to close pull requests: 11 days
  • Issue authors: 4
  • Pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.72
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jmuhlich (12)
  • josenimo (4)
  • RobJY (4)
  • kbestak (4)
  • LukasHats (2)
  • VictorDidier (2)
  • EfraMP (1)
  • MargotCh (1)
Pull Request Authors
  • jmuhlich (15)
  • nf-core-bot (14)
  • RobJY (12)
  • kbestak (4)
  • AlexBarbera (2)
  • FloWuenne (2)
  • heylf (1)
  • gesavoigt (1)
  • adamjtaylor (1)
  • migueLib (1)
  • sebgoti (1)
Top Labels
Issue Labels
enhancement (13) bug (11) feature-request (1)
Pull Request Labels
enhancement (2) WIP (1)