Skip to main content

A Python package for the inteRactive and Integrated analySis of Multiplexed tissue microarrays

Project description

PRISM: A Python package for the inteRactive and Integrated analySis of Multiplexed tissue microarrays

License MIT PyPI Python Version tests codecov napari hub

NOTE: PRISM is still in heavy development. PRISM or napari-prism is a package and napari plugin designed for interactively processing, analysing and visualising multiplxed tissue microarrays.

Currently, end-to-end capabilities (i.e. starting from importing the raw image file, to basic spatial analysis of annotated cells) are available for images generated from the Akoya Phenocycler™-Fusion platform. However, the modular structure of the package allows for usage at any stage of processing and/or analysis, given a pre-built SpatialData object using readers from either spatialdata-io or sopa.

PRISM uses spatialdata as the core data framework, allowing for:

  1. The rich integration of tools from the (scverse) Python bioinformatics ecosystem with highly interactive graphical user interfaces from napari and napari-spatialdata.
  2. The storage of images, shapes, annotations and their linked AnnData objects in a standardized, FAIR-compliant data structure, addressing the non-standard and fragmented organization of files before, during, and after a multiplexed image analysis pipeline.

The package was designed to be used completely within the napari application and therefore require little to no knowledge of Python programming. Documentation for usage via the API is currently in progress.

Requirements

Install miniconda or anaconda.

Open the conda terminal and create a simple environment:

conda create -n prism python=3.10 -c conda-forge

Activate the environment before executing the instructions in the Installation section.

conda activate prism

List of Dependencies

python==3.10
spatialdata<=0.2.5.post0
spatialdata-plot<=0.2.7
napari[all]>=0.4.19.post1
napari_matplotlib<2.0.2
napari_spatialdata<=0.5.3
dask<2024.12.1
cellpose>=3.0.10
scanpy>=1.10.0
xarray<=2024.7.0
spatialdata_plot<=0.2.7

Installation: CPU only

Install this package via pip:

pip install napari-prism

Install the latest development version:

pip install git+https://github.com/clinicalomx/napari-prism.git@main

Installation: GPU-accelerated

General computations with RAPIDS and rapids-singlecell

General larger scale and/or computationally demanding functions can be accelerated with the NVIDIA RAPIDS suite. We utilise some packages from this suite, as well as the GPU-accelerated implementation of scanpy with rapids-singlecell.

  1. Check and configure the system requirements from RAPIDS.
    • Currently, only Linux distributions (or Windows systems with WSL2) are supported.
    • Install the CUDA12.2 or CUDA12.5 toolkit.
  2. Install the package together with RAPIDS and rapids-singlecell via pip:
pip install napari-prism[gpu] --extra-index-url=https://pypi.nvidia.com

Cell segmentation with Cellpose

To run cellpose on the GPU, install the CUDA version of PyTorch. You may need to remove any installed CPU versions of PyTorch.

Getting Started

To start using napari-prism, please see the tutorials:

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, "napari-prism" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Known Issues

Adding shapes like tma_envelopes may cause segmentation faults (https://github.com/napari/napari/issues/6709). A workaround is to uninstall triangle (pip uninstall triangle)

Citation

**tba

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

napari_prism-0.1.6.tar.gz (88.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

napari_prism-0.1.6-py3-none-any.whl (144.0 kB view details)

Uploaded Python 3

File details

Details for the file napari_prism-0.1.6.tar.gz.

File metadata

  • Download URL: napari_prism-0.1.6.tar.gz
  • Upload date:
  • Size: 88.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for napari_prism-0.1.6.tar.gz
Algorithm Hash digest
SHA256 c3d8d4670e125291ad7133ac720ab57a81c547d9d555eb0e1154cb9fa2f91ce1
MD5 f5ada3f74c7d175ab1eaa0f2753fc648
BLAKE2b-256 61f2641b9c76acd49f77fa17e9102965577c3fa26769dec95d330895788be312

See more details on using hashes here.

File details

Details for the file napari_prism-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: napari_prism-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 144.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for napari_prism-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2b475b014746fe5b454cc30edfdfd8b461b97b9a094e1e8f2e6ed2bd53344864
MD5 df5e475c590e354b52280c98b02e7939
BLAKE2b-256 15966e8c64960f91221e606139a0ad175132323c91b213fdf97b04f186675df6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page