Skip to main content

No project description provided

Project description

Template Runner for PhEval

This serves as a template repository designed for crafting a personalised PhEval runner. PhEval (Phenotypic Inference Evaluation Framework) is an extensible framework for evaluating variant priorotization and phenotype matching pipelines.

Presently, the runner executes a mock predictor found in src/pheval_template/run/fake_predictor.py. Nevertheless, the primary objective is to leverage this repository as a starting point to develop your own runner for your tool, allowing you to customise and override existing methods effortlessly, given that it already encompasses all the necessary setup for integration with PhEval. There are exemplary methods throughout the runner to provide an idea on how things could be implemented.

Installation

git clone https://github.com/yaseminbridges/pheval.template.git
cd pheval.template
poetry install
poetry shell

Configuring a run with the template runner

A config.yaml should be located in the input directory and formatted like so:

tool: template
tool_version: 1.0.0
variant_analysis: False
gene_analysis: True
disease_analysis: False
tool_specific_configuration_options:

The testdata directory should include the subdirectory named phenopackets - which should contain phenopackets.

Run command

pheval run --input-dir /path/to/input_dir \
--runner templatephevalrunner \
--output-dir /path/to/output_dir \
--testdata-dir /path/to/testdata_dir

Benchmark

You can benchmark the run with the pheval-utils benchmark command:

pheval-utils benchmark --directory /path/to/output_directoy \
--phenopacket-dir /path/to/phenopacket_dir \
--output-prefix OUTPUT_PREFIX \
--gene-analysis \
--plot-type bar_cumulative

The path provided to the --directory parameter should be the same as the one provided to the --output-dir in the pheval run command

Personalising to your own tool

If overriding this template to create your own runner implementation. There are key files that should change to fit with your runner implementation.

  1. The name of the Runner class in src/pheval_template/runner.py should be changed.
  2. Once the name of the Runner class has been customised, line 15 in pyproject.toml should also be changed to match the class name, then run poetry lock and poetry install

The runner you give on the CLI will then change to the name of the runner class.

You should also remove the src/pheval_template/run/fake_predictor.py and implement the running of your own tool. Methods in the post-processing can also be altered to process your own tools output.

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_template-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

pheval_template-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file pheval_template-0.1.0.tar.gz.

File metadata

  • Download URL: pheval_template-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for pheval_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8fc75da427b1d44ed86f0982d137986d92b4b73eef1c67678c83888f3562d464
MD5 89b9a491079e15dbe4dfce66cc763cbd
BLAKE2b-256 915ec292fcaa9bae3276b7b19dc670dcdc078744e2e034a2275d5f6b1991d14a

See more details on using hashes here.

File details

Details for the file pheval_template-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pheval_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c40976d0be925911c17e6ce5e0df7e192838d16dbad8800d27e6dfb0da3223e
MD5 5149be4e00a26497a6d450668f4bdf28
BLAKE2b-256 84526c1e6fcde466ed0a1fef21ab9d8a11b7022b4fef85f94c53cd31eac1f304

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page