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.14.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.14-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pheval-0.7.14.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.14.tar.gz
Algorithm Hash digest
SHA256 00623e80b2c53ed07c17f6a74b7216221f726450640083861795fa015c0f5cf6
MD5 90b0ceaffb5d041249b02edaa00f1c96
BLAKE2b-256 781656a38684854befe3dfc72c1622b6bb7f7f3e5af84454ba1b85809d74d4e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pheval-0.7.14-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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 30fbe6da0c73210eb9c0c265b51e8ba8e2e31f2b1fe677e196660401ea87c383
MD5 91805e6e700f9ab3033d9de1ce0df037
BLAKE2b-256 1d9a891d08caa43511263b44ff34c05bab70c0c1b464d980540de93699ad9843

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