Skip to main content

single-cell spatial omics analysis that makes you happy

Project description

Harpy logo

Single-cell spatial omics analysis that makes you happy.

PyPI Downloads Build Status documentation badge Test Status codecov License GitHub repo size uv Ruff

Documentation · Quick Start · Tutorials · Harpy Vitessce

💫 If you find Harpy useful, please give us a ! It helps others discover the project and supports continued development.

Why Harpy?

  • Multi-platform support for spatial transcriptomics and proteomics data.
  • Interoperable outputs built on SpatialData.
  • Scales to (very) large images: tiled workflows with Dask; optional GPU acceleration with CuPy and PyTorch.
  • End-to-end workflows for segmentation, feature extraction, clustering, and spatial analysis.

Installation

Recommended for end-users (Python >=3.11).

uv venv --python=3.12  # set python version
source .venv/bin/activate  # activate the virtual environment
uv pip install "harpy-analysis[extra]"  # use uv to pip install dependencies
python -c 'import harpy; print(harpy.__version__)'  # check if the package is installed

Only for developers. Clone this repository locally, install the .[dev] instead of the [extra] dependencies and read the contribution guide.

# Clone repository from GitHub
uv venv --python=3.12  # set python version
source .venv/bin/activate  # activate the virtual environment
uv pip install -e '.[dev]'  # editable install with dev tooling
python -c 'import harpy; print(harpy.__version__)'  # check if the package is installed
# make changes
python -m pytest  # run the tests

Checkout the docs for installation instructions using conda.

Quickstart

See the short, runnable guide.

🧭 Tutorials and Guides

Explore how to use Harpy for segmentation, shallow and deep feature extraction, clustering, and spatial analysis of gigapixel-scale multiplexed data with these step-by-step notebooks:

  • 🚀 Basic Usage of Harpy

    Learn how to read in data, perform tiled segmentation using Cellpose and Dask-CUDA, extract features, and carry out clustering. 👉 Tutorial

  • 🔧 Technology-specific advice

    Learn which technologies Harpy supports. 👉 Notebook

  • 🧩 Pixel and Cell Clustering

    Learn how to perform unsupervised pixel- and cell-level clustering using Harpy together with FlowSOM. 👉 Tutorial

  • ✂️ Cell Segmentation

    Explore segmentation workflows in Harpy using different tools:

    💡 Want us to add support for another segmentation method? 👉 Open an issue and let us know!

  • 🧪 Single-cell representations from highly multiplexed images and downstream use with PyTorch

    Learn how single-cell representations can be generated from highly multiplexed images. These representations can then be used downstream to train classifiers in PyTorch. 👉 Tutorial

  • 🧠 Deep Feature Extraction

    Discover how Harpy enables fast, scalable extraction of deep, cell-level features from multiplex imaging data with the KRONOS foundation model for proteomics. 👉 Tutorial

    💡 Want us to add support for another deep feature extraction method? 👉 Open an issue and let us know!

  • 🔬 Shallow Feature Extraction

    Learn to extract shallow features—such as mean, median, and standard deviation of intensities—from multiplex imaging data with Harpy. 👉 Tutorial

  • 🧬 Spatial Transcriptomics

    Learn how to analyze spatial transcriptomics data with Harpy. For detailed information, refer to the SPArrOW documentation.

    👉 Tutorial (Mouse Liver, Resolve Molecular Cartography)

    👉 Tutorial (Human Ovarian Cancer, Xenium 10x Genomics)


  • 🌐 Multiple samples and coordinate systems

    Learn how to work with multiple samples, intrinsic and micron coordinates. 👉 Tutorial


  • 📐 Rasterize and vectorize labels and shapes

    Learn how to convert a segmentation mask (array) into its vectorized form, and segmentation boundaries (polygons) into their rasterized equivalents. This conversion is useful, for example, when integrating annotations (e.g., from QuPath) into downstream spatial omics analysis.👉 Tutorial


📚 For a complete list of tutorials, visit the Harpy documentation.

Computational benchmark

Explore the benchmark performance of Harpy on a large MACSima tonsil proteomics dataset. 👉 Results

Usage

Learn how Harpy can be integrated into your workflow.

Contributing

See here for info on how to contribute to Harpy.

References

License

Check the license. Harpy is free for academic usage. For commercial usage, please contact Saeyslab.

Issues

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

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

harpy_analysis-0.3.2.tar.gz (101.8 MB view details)

Uploaded Source

Built Distribution

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

harpy_analysis-0.3.2-py3-none-any.whl (452.5 kB view details)

Uploaded Python 3

File details

Details for the file harpy_analysis-0.3.2.tar.gz.

File metadata

  • Download URL: harpy_analysis-0.3.2.tar.gz
  • Upload date:
  • Size: 101.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for harpy_analysis-0.3.2.tar.gz
Algorithm Hash digest
SHA256 b0f49605a8d9129d3712f29dc711aa13c2436ff2845474c54eb28cd8af731035
MD5 1dc99a9f657828636959017370c83a27
BLAKE2b-256 024b43f5dccfcee19e22f2f4d3e3d580ae663d72a2277aca42f34e8f3a8bd02d

See more details on using hashes here.

Provenance

The following attestation bundles were made for harpy_analysis-0.3.2.tar.gz:

Publisher: release.yaml on saeyslab/harpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file harpy_analysis-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: harpy_analysis-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 452.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for harpy_analysis-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0baba361bf7b2ceae27dcb6b23a09c834c3fbd0c38d6a7f6874ee114d52aeb
MD5 546b2eecf76b96b2f8b84075d4ca416e
BLAKE2b-256 2d3e60498c27a312ae26dfdaff237d15e3e17eef5a3c773bfc5af427202fdee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for harpy_analysis-0.3.2-py3-none-any.whl:

Publisher: release.yaml on saeyslab/harpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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