Repository navigation
PlexPipe 0.1.0
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_version2.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 scripts01–05inscripts/, and theplexpipecommand (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.