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.dev2.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.dev2-py3-none-any.whl (145.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for napari_prism-0.1.6.dev2.tar.gz
Algorithm Hash digest
SHA256 ad6b355bb355054d0351883bf40dfbb350fbecee351c4abf80c86201bce5f624
MD5 76586355eb1f31cdf455829cb644c737
BLAKE2b-256 4271f24a4bff450e226badce71fc13f17a3b392e25219d15914b10bd73020413

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for napari_prism-0.1.6.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 8ae27b46d74a41c61fcf7502ea1c037b2cc6ca33f1509c6ce272247cd8fe1b22
MD5 a81bbb9b216cd14f4691388354dcb4c5
BLAKE2b-256 ce629d68446e97700ca83a6d0212d75c2cdd9801fc6c27ac411c0ff04a27870a

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