Skip to content

PlexPipe 0.1.0

Choose a tag to compare

@fjorka fjorka released this 16 Oct 20:48
· 4 commits to main since this release

First public release of PlexPipe: a pipeline from multiplexed whole-slide images to single-cell data, with human-in-the-loop ROI definition and quality control.

Install

pip install "plex_pipe[all]"

Documentation: https://plexpipe.github.io/plex-pipe/latest/ · PyPI: https://pypi.org/project/plex-pipe/0.1.0/

Added

  • Five-step pipeline from multiplexed whole-slide images to single-cell data: ROI definition, ROI cutting, quality control, segmentation and quantification, driven by one YAML config file (schema_version 2.0).
  • Interactive steps in napari: drawing and editing ROIs (RoiWidget), and marking artefacts to exclude from analysis (QCWidget).
  • Channel discovery from image file names (naming preset, e.g. celldive) or from a channel manifest CSV (save_manifest, preview_channels).
  • ROI cutting into one SpatialData (Zarr) store per ROI, from local files or through Globus transfers.
  • Segmentation with Cellpose or InstanSeg, with image enhancers (normalize, denoise_with_median, mean_of_images) and mask builders (ring, subtract, multiply, blob).
  • Quantification of per-cell morphology and marker intensities into AnnData tables, with QC exclusion columns.
  • Three ways to run: the notebooks in notebooks/, the scripts 01–05 in scripts/, and the plexpipe command (setup, cut-image, assemble-roi, segment-roi, quantify-roi), which runs one image or ROI per call for HPC schedulers and Nextflow (plex-pipe-nextflow).
  • Config checks: unknown or misspelled keys are an error, older configs are migrated, and each run saves a snapshot of its config with the PlexPipe version.
  • fetch_example() downloads a small example dataset for the notebooks.
  • Python 3.12–3.14 on Linux, Windows and Apple Silicon Macs.

PlexPipe is alpha: interfaces and the config schema may still change before 1.0. Feedback is welcome on the issue tracker.