Skip to main content

Exomiser ML

Exomiser-ML is a Python-based machine learning pipeline designed to enhance variant prioritisation by integrating various Exomiser scores. It supports classification using Logistic Regression, Random Forest, and XGBoost, and includes utilities for feature extraction, data splitting, model training, and post-processing.

🚀 Features

  • Extracts features from Exomiser variant TSV result files and Phenopackets.
  • Supports multiple classifiers: Logistic Regression, Random Forest, and XGBoost.
  • Provides CLI commands for training, and full pipeline execution.
  • Generates metadata and post-processed results compatible with PhEval for benchmarking.

📦 Installation

Ensure you have Python 3.12 or higher installed.

pip install exomiser-ml

🧪 Usage

The package provides several CLI commands:

  1. run-model

Trains and evaluates a model using provided training data and test directory.

run-model \
  --training-data path/to/train.tsv \
  --test-dir path/to/test_dir \
  --features FEATURE1 FEATURE2 ... \
  --output-dir path/to/output \
  --phenopacket-dir path/to/phenopackets \
  --model MODEL_TYPE

Parameters:

  • --training-data: Path to the training data TSV file.
  • --test-dir: Directory containing test data files.
  • --features: List of features to extract.
  • --output-dir: Directory to save outputs.
  • --phenopacket-dir: Directory containing Phenopacket JSON files.
  • --model: Model type to use. Choices: LOGISTIC_REGRESSION, RANDOM_FOREST, XGBOOST_CLASSIFIER
  1. run-pipeline

Executes the full pipeline: feature extraction, data splitting, training, evaluation, and post-processing.

run-pipeline \
  --phenopacket-dir path/to/phenopackets \
  --result-dir path/to/exomiser_results \
  --output-dir path/to/output \
  --features FEATURE1 FEATURE2 ... \
  --test-size 0.2 \
  --model MODEL_TYPE

Parameters:

  • --phenopacket-dir: Directory containing Phenopacket JSON files.
  • --result-dir: Directory containing Exomiser result TSV files.
  • --output-dir: Directory to save outputs.
  • --features: List of features to extract.
  • --test-size: Proportion of data to use for testing (e.g., 0.2 for 20%).
  • --model: Model type to use. Choices: LOGISTIC_REGRESSION, RANDOM_FOREST, XGBOOST_CLASSIFIER.
  1. add-features

Adds features to Exomiser results.

add-features \
  --phenopacket-dir path/to/phenopackets \
  --result-dir path/to/exomiser_results \
  --output-dir path/to/output
  1. split-data

Splits data (Exomiser TSV results) into training and testing sets.

split-data \
  --input-dir path/to/input_data \
  --test-size 0.2 \
  --output-dir path/to/output
  1. post-process

Post-processes test results for downstream benchmarking with PhEval.

post-process \
  --test-dir path/to/test_results \
  --phenopacket-dir path/to/phenopackets \
  --output-dir path/to/output \
  --score NEW_SCORE

Metadata

Release files for exomiser-ml 0.1.19

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

Source distribution (sdist)

Source distribution for exomiser-ml 0.1.19
File Size Uploaded
exomiser_ml-0.1.19.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exomiser-ml 0.1.19
File Interpreter ABI Platform
exomiser_ml-0.1.19-py3-none-any.whl Python 3 none any Details

Total release size: 30.5 kB

Release files / exomiser_ml-0.1.19.tar.gz

Download URL exomiser_ml-0.1.19.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4801638359d5743a269c9450b1cb05d71f4f1edd6f343ac1877e5a45d6c9050a
BLAKE2b-256 checksum
How to use checksums
97094aa88ddd0ce908c81b90441e5692a8d7ef3e6a7cfe7de1a32ed8e53ce57b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / exomiser_ml-0.1.19-py3-none-any.whl

Download URL exomiser_ml-0.1.19-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07d7e9edaff6679a02abf058dcabd793308758329ac3de00638bc16a8c7ab1cb
BLAKE2b-256 checksum
How to use checksums
090b6804ecc4d58fef520413ce42f7b780d66de2d260edad18a856c4c7476748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.20

2 release files

This release

0.1.19 This release

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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