Skip to main content

Exomiser Runner for PhEval

This is the Exomiser plugin for PhEval. With this plugin, you can leverage the variant prioritisation tool, Exomiser, to run the PhEval pipeline seamlessly. Instructions for setting up the appropriate directory layout, including the input directory and test data directory for a single PhEval run, can be found here


Contents


Quick start: running Exomiser with PhEval

pheval run \
  --input-dir /path/to/input_dir \
  --testdata-dir /path/to/testdata_dir \
  --runner exomiserphevalrunner \
  --output-dir /path/to/output_dir \
  --version 15.0.0

This command will:

  1. Prepare Exomiser inputs
  2. Execute Exomiser
  3. Post-process raw Exomiser outputs into PhEval-standardised Parquet results ready for benchmarking

Installation

Install from PyPI (recommended):

pip install pheval.exomiser

Or from source:

git clone https://github.com/monarch-initiative/pheval.exomiser.git
cd pheval.exomiser
poetry install
poetry shell

Running with pheval run

The pheval run command manages the full lifecycle:

prepare → run → post-process.

pheval run \
  --input-dir /path/to/input_dir \
  --testdata-dir /path/to/testdata_dir \
  --runner exomiserphevalrunner \
  --output-dir /path/to/output_dir \
  --version 15.0.0

Input directory structure

The input directory contains all Exomiser configuration, databases, and software.

Required files

input_dir/
├── config.yaml
├── exomiser-cli-15.0.0/
│   └── exomiser-cli-15.0.0.jar
├── preset-exome-analysis.yml
├── 2512_phenotype/
├── 2512_hg19/
└── 2512_hg38/

config.yaml

tool: exomiser
tool_version: 15.0.0
# NOTE gene-only preset analysis should only be run with Exomiser versions >= 13.2.0
variant_analysis: true
gene_analysis: true
disease_analysis: false
tool_specific_configuration_options:
  environment: local
  exomiser_software_directory: exomiser-cli-15.0.0
  analysis_configuration_file: preset-exome-analysis.yml # can be blank if running without VCF, alternatively specify your own analysis configuration file for phenotype only
  max_jobs: 0
  application_properties:
    remm_version:
    cadd_version:
    hg19_data_version: "2512"
    hg19_local_frequency_path:
    hg19_whitelist_path:
    hg38_data_version: "2512"
    hg38_local_frequency_path:
    hg38_whitelist_path:
    phenotype_data_version: "2512"
    # either none, simple, or caffeine
    cache_type: none
    cache_caffeine_spec:
  output_formats: [PARQUET] # options include HTML, JSON, PARQUET (v15.0.0 onwards), TSV_VARIANT, TSV_GENE, VCF
  post_process:
    # For Exomiser < 15.0.0, valid ranking methods include combinedScore, priorityScore, variantScore or pValue
    # For Exomiser >= 15.0.0, valid ranking methods include geneCombinedScore, geneVariantScore or pValue
    score_name: geneCombinedScore
    # sort order should be specified to either ASCENDING or DESCENDING
    # ASCENDING orders results with the lowest values ranked first
    # DESCENDING orders results with the highest values ranked first
    # NOTE when changing the score_name ensure the sort_order is also correct
    sort_order: DESCENDING

Optional databases

input_dir/
├── cadd/
│   └── {{CADD-VERSION}}/
│       ├── hg19/
│       └── hg38/
├── local/
│   ├── local_frequency_test_hg19.tsv.gz
│   └── local_frequency_test_hg38.tsv.gz
└── remm/
    ├── ReMM.v{{REMM-VERSION}}.hg19.tsv.gz
    └── ReMM.v{{REMM-VERSION}}.hg38.tsv.gz

Testdata directory structure

testdata_dir/
├── phenopackets/
└── vcf/            # optional

Phenotype-only mode

Set:

variant_analysis: false

Only phenopackets/ is required.

Important
If variant_analysis: true and no vcf/ directory exists, the VCF path will be taken from the Phenopacket.


Post-processing pre-generated Exomiser results

If Exomiser was run outside PhEval:

pheval-exomiser post-process-exomiser-results \
  --results-dir /path/to/exomiser_results \
  --phenopacket-dir /path/to/phenopackets \
  --output-dir /path/to/write/output \
  --score-name geneCombinedScore \
  --gene-analysis \
  --variant-analysis \
  --version 15.0.0

Use pheval-exomiser post-process-exomiser-results --help for more options.

⚠️ Critical file naming rule (stem matching)

PhEval matches results to cases using file stem equality.

Phenopacket: patient_001.json
Result file: patient_001.json              ✅
Result file: patient_001-exomiser.json     ✅ (auto-stripped)
Result file: patient_001_run1.json         ❌

Rule: the result filename stem must exactly match the phenopacket stem.


Generating Exomiser batch files

Generate batch scripts without running Exomiser:

pheval-exomiser prepare-exomiser-batch \
  --phenopacket-dir /phenopackets \
  --vcf-dir /vcf \
  --variant-analysis \
  --analysis-yaml preset-exome-analysis.yml \
  --output-dir /batch_files \
  --results-dir /exomiser_results
  --exomiser-version 15.0.0
  --output-formats PARQUET
  --output-formats HTML 

Use pheval-exomiser prepare-exomiser-batch --help for more options.

This writes batch files under tool_input_commands/.


Outputs

output_dir/
├── pheval_gene_results/
├── pheval_variant_results/
├── pheval_disease_results/
├── raw_results/
└── results.yml

These outputs are directly consumable by PhEval benchmarking utilities.

Metadata

Release files for pheval-exomiser 0.4.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pheval-exomiser 0.4.13
File Size Uploaded Provenance Actions
pheval_exomiser-0.4.13.tar.gz 15.2 kB Without provenance Details for pheval_exomiser-0.4.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pheval-exomiser 0.4.13
File Interpreter ABI Platform Actions
pheval_exomiser-0.4.13-py3-none-any.whl Python 3 none any Details for pheval_exomiser-0.4.13-py3-none-any.whl

Total release size: 32.9 kB

Release files / pheval_exomiser-0.4.13.tar.gz

Download URL pheval_exomiser-0.4.13.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9e3bf2abfc8dd6b1f1d813e6de00e0322ccd170343025f88ac1418b7bf15a87d
BLAKE2b-256 checksum
How to use checksums
93a0c702e2f0504603a778ecd5b6e12a5a4f7279f9be8d805272e74f7606c128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pheval_exomiser-0.4.13-py3-none-any.whl

Download URL pheval_exomiser-0.4.13-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e39032fec9d14a0512c2340d13a392f448519b787c4f9e184d89e6e88c31183
BLAKE2b-256 checksum
How to use checksums
00c65ed461e104fe5fdd27980fd5b1eb8d1b99fdc7a2f20f97671c58a922e23d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for pheval-exomiser 0.4.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page