Skip to main content

Perturbation Analysis in the scverse ecosystem.

Project description

Build codecov License PyPI Python Version Read the Docs Test PyPI

pertpy - Perturbation Analysis in Python

Pertpy is a scverse ecosystem framework for analyzing large-scale single-cell perturbation experiments. It provides tools for harmonizing perturbation datasets, automating metadata annotation, calculating perturbation distances, and efficiently analyzing how cells respond to various stimuli like genetic modifications, drug treatments, and environmental changes.

Please read our associated manuscript "Pertpy: an end-to-end framework for perturbation analysis".

fig1

Documentation

Please read the documentation for installation instructions, tutorials, use cases, and more.

Installation

We recommend installing and running pertpy on a recent version of Linux (e.g. Ubuntu 24.04 LTS). No particular hardware beyond a standard laptop is required.

You can install pertpy in less than a minute via pip from PyPI:

pip install pertpy

or conda-forge:

conda install -c conda-forge pertpy

Differential gene expression

If you want to use the differential gene expression interface, please install pertpy by running:

pip install 'pertpy[de]'

tascCODA

if you want to use tascCODA, please install pertpy as follows:

pip install 'pertpy[tcoda]'

milo

milo requires either the "de" extra for the "pydeseq2" solver:

pip install 'pertpy[de]'

or, edger, statmod, and rpy2 for the "edger" solver:

BiocManager::install("edgeR")
BiocManager::install("statmod")
pip install rpy2

Citation

@article{Heumos2025,
  author    = {Heumos, Lukas and Ji, Yuge and May, Lilly and Green, Tessa D. and Peidli, Stefan and Zhang, Xinyue and Wu, Xichen and Ostner, Johannes and Schumacher, Antonia and Hrovatin, Karin and Müller, Michaela and Chong, Faye and Sturm, Gregor and Tejada, Alejandro and Dann, Emma and Dong, Mingze and Pinto, Gonçalo and Bahrami, Mojtaba and Gold, Ilan and Rybakov, Sergei and Namsaraeva, Altana and Moinfar, Amir Ali and Zheng, Zihe and Roellin, Eljas and Mekki, Isra and Sander, Chris and Lotfollahi, Mohammad and Schiller, Herbert B. and Theis, Fabian J.},
  title     = {Pertpy: an end-to-end framework for perturbation analysis},
  journal   = {Nature Methods},
  year      = {2025},
  publisher = {Springer Nature},
  doi       = {10.1038/s41592-025-02909-7},
  url       = {https://doi.org/10.1038/s41592-025-02909-7},
  issn      = {1548-7105}
}

pertpy is part of the scverse® project (website, governance) and is fiscally sponsored by NumFOCUS. If you like scverse® and want to support our mission, please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

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

pertpy-1.1.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

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

pertpy-1.1.0-py3-none-any.whl (234.5 kB view details)

Uploaded Python 3

File details

Details for the file pertpy-1.1.0.tar.gz.

File metadata

  • Download URL: pertpy-1.1.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pertpy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 32a7904c7d0b9f9add0f0333e7ef3ec3063d0b6d13b80af6c03e75844e96b7ad
MD5 765cf14d4d45eb6d22d546927eab53ee
BLAKE2b-256 1ddd933319f453d6458fdde0d817e2b3d0c58b940b8a6ab3010809182ac6f774

See more details on using hashes here.

Provenance

The following attestation bundles were made for pertpy-1.1.0.tar.gz:

Publisher: release.yml on scverse/pertpy

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

File details

Details for the file pertpy-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pertpy-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 234.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pertpy-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c093de8624f77723e94bef7b3a8e06275384c06b2a142cb613fe602f09a7ad1
MD5 205e2be009f697beaa19b1a630bf98c8
BLAKE2b-256 6c1247ea9258ff2581b0b5470b8857b2f5abb929ba32114d08752802e899d10d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pertpy-1.1.0-py3-none-any.whl:

Publisher: release.yml on scverse/pertpy

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