Skip to main content

A machine learning pipeline for variant prioritisation using Exomiser output.

Project description

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

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

exomiser_ml-0.1.8.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exomiser_ml-0.1.8-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file exomiser_ml-0.1.8.tar.gz.

File metadata

  • Download URL: exomiser_ml-0.1.8.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.20

File hashes

Hashes for exomiser_ml-0.1.8.tar.gz
Algorithm Hash digest
SHA256 5cca0010efe07c72c9c36cf5bb7bbd61132be31810f2ed787ef2727eb37ff4f1
MD5 8d4c2520fbe015b506b5516f6b88cd74
BLAKE2b-256 5e3ecf1faf1f4e571d8f2958c02efe8f9bcabc9e39eb8815bf883ae01ee374ee

See more details on using hashes here.

File details

Details for the file exomiser_ml-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for exomiser_ml-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 af3395c1701c3590b473ed6c9bb85e9f34a39aca9fd331c48169b801826bdff7
MD5 d84717468bb66bd8d79646fe0f04e9f5
BLAKE2b-256 ce0c7c8a46ce1c83122534c15fec3751ff8f27836d6847c212103d5b6115ed87

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