Skip to main content

No project description provided

Project description

PhEval - Phenotypic Inference Evaluation Framework

PyPI Build Status License Python Version Issues

PhEval (Phenotypic Inference Evaluation Framework) is a modular, reproducible benchmarking framework for evaluating phenotype-driven prioritisation tools, such as gene, variant, and disease prioritisation algorithms.

It is designed to support fair comparison across tools, tool versions, datasets, and knowledge updates, addressing a long-standing gap in standardised evaluation for phenotype-based methods.

📖 Full documentation: https://monarch-initiative.github.io/pheval/

Why PhEval?

Evaluating phenotype-driven prioritisation tools is challenging because performance depends on many moving parts, including:

  • Phenotype representations and noise
  • Ontology structure and versioning
  • Gene and disease mappings
  • Tool-specific scoring and ranking strategies
  • Input cohorts and simulation approaches

PhEval provides a framework that makes these factors explicit, controlled, and comparable.

Key features:

  • Standardised outputs across tools
  • Reproducible benchmarking with recorded metadata
  • Plugin-based architecture for extensibility
  • Separation of execution and evaluation
  • Support for gene, variant, and disease prioritisation

Installation

PhEval requires Python 3.10 or later.

Install from PyPI:

pip install pheval

This installs:

  • The core pheval CLI (for running tools via plugins)
  • pheval-utils (for data preparation, benchmarking, and analysis)

Verify installation:

pheval --help
pheval-utils --help

How PhEval is used

PhEval workflows typically consist of three phases:

  1. Prepare data Prepare and manipulate phenopackets and related inputs (e.g. VCFs).
  2. Run tools Execute phenotype-driven prioritisation tools via plugin-provided runners using:
    pheval run --runner <runner_name> ...
    
  3. Benchmark and analyse Compare results across runs using standardised metrics and plots.

Each phase is documented in detail in the user documentation.

Plugins and runners

PhEval itself is tool-agnostic.

Support for specific tools is provided via plugins, which implement runners responsible for:

  • Preparing tool inputs
  • Executing the tool
  • Converting raw outputs into PhEval standardised results

A list of available plugins is maintained in the documentation:

Plugins: https://monarch-initiative.github.io/pheval/plugins/

Each plugin repository contains tool-specific installation instructions and examples.

Documentation

The PhEval documentation is organised by audience and task:

  • Getting started: installation and first steps
  • Using PhEval: running tools, plugins, and workflows
  • Utilities: data preparation, phenopacket manipulation, simulations
  • Benchmarking: executing benchmarks, metrics, and plots
  • Developer documentation: plugin development and API reference

Start here: https://monarch-initiative.github.io/pheval/

Contributions

Contributions are welcome across:

  • Code
  • Documentation
  • Testing
  • Plugins and integrations

Citation

If you use PhEval in your research, please cite the following publication:

Bridges, Y., Souza, V. d., Cortes, K. G., et al.
Towards a standard benchmark for phenotype-driven variant and gene prioritisation algorithms: PhEval – Phenotypic Inference Evaluation Framework.
BMC Bioinformatics 26, 87 (2025).
https://doi.org/10.1186/s12859-025-06105-4

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

pheval-0.7.13.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

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

pheval-0.7.13-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file pheval-0.7.13.tar.gz.

File metadata

  • Download URL: pheval-0.7.13.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pheval-0.7.13.tar.gz
Algorithm Hash digest
SHA256 a038d808c7fe3b97e5dc236171d2b53a6dc0f7ab9318ee40859aedb007f8e6dc
MD5 e2cb0e006c93008262a0cd31e3a21074
BLAKE2b-256 19fd9d56238dcf394475367f01bb63502ccb2603ca23f333f5b10735a6eefde4

See more details on using hashes here.

File details

Details for the file pheval-0.7.13-py3-none-any.whl.

File metadata

  • Download URL: pheval-0.7.13-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pheval-0.7.13-py3-none-any.whl
Algorithm Hash digest
SHA256 0b790b1ba84e3a38190bce3ace355222b1f7b73b31c6accda4d251e123844585
MD5 a9f3f1fd28930e447a6a91822ef0a238
BLAKE2b-256 2ba6d0c03bae52bd17beebeb5a28c1a0ba14017a4763d2227cff6fbdcff0bc92

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