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 generate-benchmark-stats command:
pheval-utils generate-benchmark-stats --run-yaml /path/to/runs.yaml \
The path provided to the ---run-yaml parameter should be the path to the YAML configuration file for running the benchmark, it may be formatted like so:
benchmark_name: pheval_template_benchmark
runs:
- run_identifier: template_runner
results_dir: /path/to/results_dir # Should be the same directory specified as the --output-dir in the pheval run command
phenopacket_dir: /path/to/phenopacket_dir
gene_analysis: True
variant_analysis: False
disease_analysis: False
threshold:
score_order: descending
plot_customisation:
gene_plots:
plot_type: bar_cumulative
rank_plot_title: PhEval Template Recall Performance
roc_curve_title: PhEval Template ROC Curve
precision_recall_title: PhEval Template PR Curve
disease_plots:
plot_type:
rank_plot_title:
roc_curve_title:
precision_recall_title:
variant_plots:
plot_type:
rank_plot_title:
roc_curve_title:
precision_recall_title:
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.
- The name of the Runner class in
src/pheval_template/runner.pyshould be changed. - Once the name of the Runner class has been customised, line 15 in
pyproject.tomlshould also be changed to match the class name, then runpoetry lockandpoetry 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pheval_template-0.2.0.tar.gz.
File metadata
- Download URL: pheval_template-0.2.0.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87876931c2b5a0501e16844b40e01983b9667b45fd4600aedded353609cf756a
|
|
| MD5 |
523a3e292fc28c5c7b656c92b2c5c444
|
|
| BLAKE2b-256 |
18290a56511ec96bdd48bdfec8a39d7ea06cc55984af9cf58cb622b30cfb4ac9
|
File details
Details for the file pheval_template-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pheval_template-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04632cc08ab2e4a3f1d651775595a59d75dc40093fc55f621c88823f409a4a8c
|
|
| MD5 |
a26e520256fe5c94780bf2f0b40e58cb
|
|
| BLAKE2b-256 |
74806dc1ee3e7e64633904c78cb80c8376ed2f30ecfc3e2c227301f86f61058c
|