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

Uploaded Python 3

File details

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

File metadata

  • Download URL: napari_prism-0.1.6.dev1.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.dev1.tar.gz
Algorithm Hash digest
SHA256 a5b7bfd182bfc0f9ffd41c6cb612301b9c9fd59929c88c3849bed5530c1d9965
MD5 5fb7d1e07c5563f04c19cf55cf57729a
BLAKE2b-256 49111dbffefa9f7fda3e1739ea0b215179bcad2418622338ffce3adf8ae58379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for napari_prism-0.1.6.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 45e58cfaff3901d5f0b8be55dd145bcedd8c154c1e0550f27d8214a4240525f9
MD5 7af8353a073514e689a3f65e556b19a2
BLAKE2b-256 780ff1b389eda14115ec124d1f3ca72b27506831cd1663492e2ca8ca06236378

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