Skip to main content

Pareto Task Inference in Python

Project description

ParTIpy: Pareto Task Inference in Python

codecov Documentation Status GitHub issues pre-commit.ci status

partipy (Pareto Task Inference in Python) provides a scalable and user-friendly implementation of the Pareto Task Inference (ParTI) framework (1, 2, 3, 4) for analyzing functional trade-offs in biological data, particularly in high-throughput single-cell and spatial omics data.

ParTI models gene expression variability within a cell type by capturing functional trade-offs - e.g., glycolysis vs. gluconeogenesis. The framework posits that cells lie along Pareto fronts, where improving one biological task inherently compromises another, forming a functional landscape represented as a polytope. Vertices of this polytope correspond to specialist cells optimized for distinct tasks, while generalists occupy interior regions balancing multiple functions.

To infer this structure, archetypal analysis models each cell as a convex combination of extremal points, called archetypes. These archetypes are constrained to lie within the convex hull of the data, ensuring interpretability and biological plausibility. In contrast to clustering methods that impose hard boundaries, archetypal analysis preserves the continuous nature of gene expression variability and reveals functional trade-offs without artificial discretization.

partipy integrates with the scverse ecosystem and employs coreset-based optimization for scalability to millions of cells.

Documentation

For detailed information and example tutorials, please refer to our documentation. Key resources include:

For a deeper dive into the mathematical foundations of archetypal analysis and the implementation of various initialization and optimization algorithms, see the methods section.

Installation

You need to have Python 3.10 or newer installed on your system.

There are several alternative options to install partipy:

  1. Install the latest stable release from PyPI with minimal dependencies:
pip install partipy
  1. Install the latest stable full release from PyPI with extra dependencies:
pip install partipy[extra]
  1. Install the latest development version:
pip install git+https://github.com/saezlab/partipy.git

Release Notes

See the changelog.

Questions & Issues

If you have any questions or issues, do not hesitate to open an issue.

Workflow Overview

ParTIpy Overview

Citation

@article{schafer2025partipy,
  title   = {ParTIpy: A Scalable Framework for Archetypal Analysis and Pareto Task Inference},
  author  = {Sch{\"a}fer, Philipp Sven Lars and Zimmermann, Leoni and Burmedi, Paul L. and Walfisch, Avia and Goldenberg, Noa and Yonassi, Shira and Shaer Tamar, Einat and Adler, Miri and Tanevski, Jovan and Ramirez Flores, Ricardo O. and Saez-Rodriguez, Julio},
  journal = {bioRxiv},
  year    = {2025},
  doi     = {10.1101/2025.09.08.674797}
}

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

partipy-0.0.5.tar.gz (17.0 MB view details)

Uploaded Source

Built Distribution

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

partipy-0.0.5-py3-none-any.whl (86.5 kB view details)

Uploaded Python 3

File details

Details for the file partipy-0.0.5.tar.gz.

File metadata

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

File hashes

Hashes for partipy-0.0.5.tar.gz
Algorithm Hash digest
SHA256 5616ac238ca4889a34e69bc49276fcbe4bc6dafa4cd033f0c39f438197b6100d
MD5 c2dd4efc7f791f5194e9af4b79c7d29e
BLAKE2b-256 7f8d42cc9bdb3424d669f5467732659bbbc19d8d3691abd720ba5d4411b65d98

See more details on using hashes here.

Provenance

The following attestation bundles were made for partipy-0.0.5.tar.gz:

Publisher: release.yaml on saezlab/ParTIpy

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

File details

Details for the file partipy-0.0.5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for partipy-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9e844cad8ddcf2aa10999b35e7ece27db898fe0c1e54a194bf31fcd404baadf4
MD5 89565e2d6cd8a8fc58398e61afe3b5a0
BLAKE2b-256 1c22f5a39abb3082d35070a40c7fccca3ee7542df84b2a8cc01dba8893b71858

See more details on using hashes here.

Provenance

The following attestation bundles were made for partipy-0.0.5-py3-none-any.whl:

Publisher: release.yaml on saezlab/ParTIpy

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