Skip to main content

imcpipeline logo

Imaging mass cytometry pipeline Build Status PyPI version

This is a pipeline for the processing of imaging mass cytometry (IMC) data.

It is largely based on Vito Zanotelli's pipeline. It performs image preprocessing and filtering, uses ilastik for semi-supervised pixel classification, CellProfiler for image segmentation and quantification of single cells.

The pipeline can be used in standalone mode or with imcrunner in order to process multiple samples in a distributed way and in parallel such as a local computer, on the cloud, or a high performance computing cluster (HPC). This is due to the use of the light-weight computing configuration manager divvy.

Requirements and installation

Requires:

  • Python >= 3.7
  • One of: docker, singularity, conda or cellprofiler in a local installation.

Install with:

pip install imcpipeline

Make sure to have an updated PIP version. Development and testing is only done for Linux. If anyone is interested in maintaining this repository in MacOS/Windows fell free to submit a PR.

Quick start

Demo

You can run a demo dataset using the --demo flag:

imcpipeline --demo

The pipeline will try to use a local cellprofiler installation, docker or singularity in that order if any is available. Output files are in a imcpipeline_demo_data directory.

Running on your data

To run the pipeline on real data, one simply needs to specify input and output directories. A trained ilastik model can be provided and if not, the user will be prompted to train it.

imcpipeline \
    --container docker \
    --ilastik-model model.ilp \
    -i input_dir -o output_dir

If docker or singularity is not available, one could for example use a conda environment or a virtualenv environment activated only for the cellprofiler command like this:

imcpipeline \
    --cellprofiler-exec \
        "source ~/.miniconda2/bin/activate && conda activate cellprofiler && cellprofiler"
    --ilastik-model model.ilp \
    -i input_dir -o output_dir

To run one step only for a single sample, use the -s/--step argument:

imcpipeline \
    --step segmentation \
    -i input_dir -o output_dir

Or provide more than one consecutive step in the same way:

imcpipeline \
    --step predict,segmentation \
    -i input_dir -o output_dir

To run the pipeline for various samples in a specific computing configuration (more details in the documentation):

imcrunner \
    --divvy-configuration slurm \
    metadata.csv \
        --container docker \
        --ilastik-model model.ilp \
        -i input_dir -o output_dir

Documentation

For additional details on the pipeline, see the documentation.

Metadata

Release files for imcpipeline 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imcpipeline 0.0.5
File Size Uploaded Provenance
imcpipeline-0.0.5.tar.gz 929.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for imcpipeline 0.0.5
File Interpreter ABI Platform
imcpipeline-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 946.5 kB

Release files / imcpipeline-0.0.5.tar.gz

Download URL imcpipeline-0.0.5.tar.gz
Size 929.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ae8b1f8ded9fc60e8cbfedcf78ba6c48b60efa75b2620b4070a0a505e61826a4
BLAKE2b-256 checksum
How to use checksums
fb8f1859daa96a4200e40b0fe8c1fb9de972011191088c2db2f8486cd725e8e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release files / imcpipeline-0.0.5-py3-none-any.whl

Download URL imcpipeline-0.0.5-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc6a48a34740464ee9519611c032ed8051d47e7807d741162c4bbedec734a4b9
BLAKE2b-256 checksum
How to use checksums
729fd07b5bed9b820554e5ed0d85a1870f19819ff7e1ee4909b73eb6d945777a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Security for imcpipeline 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page