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:
- 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
- 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.
- 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
- 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
- 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.20
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| exomiser_ml-0.1.20.tar.gz | 13.7 kB | Without provenance | Details for exomiser_ml-0.1.20.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| exomiser_ml-0.1.20-py3-none-any.whl | Python 3 | none | any | Details for exomiser_ml-0.1.20-py3-none-any.whl |
Total release size: 31.5 kB
Release files / exomiser_ml-0.1.20.tar.gz
| Download URL | exomiser_ml-0.1.20.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15c4adb93ac2ed3804acc8a078b98e7281532460ab08ee815dd6effbdac1e57a
|
|
BLAKE2b-256 checksum How to use checksums |
15a51549f2a24f2e56ab40e0202edfbbbee03a791188e6137f29cff10ba72cc0
|
| 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.20-py3-none-any.whl
| Download URL | exomiser_ml-0.1.20-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5c5b9354169ce7d82513c79b4ce3056726cb0f56fcb95c0a4db272c43fa60a3
|
|
BLAKE2b-256 checksum How to use checksums |
3daf00be106b56a435632efb7e0d2c31e93983df209a35233fa5a45d0d0897e4
|
| 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}
|
Security for exomiser-ml 0.1.20
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.