pheval.lirical
Details
GitHub | monarch-initiative/pheval.lirical |
Language | Python |
Description | A PhEval plugin integrating LIRICAL for efficient phenotype and variant prioritisation in a standardised pipeline. |
Dependencies
External Dependencies
Package | Version |
---|---|
python | >=3.9,<4.0.0 |
click | ^8.1.3 |
phenopackets | ^2.0.2 |
^3.0.0 | |
pyaml | ^21.10.1 |
oaklib | >=0.5.6 |
docker | ^6.0.1 |
pheval | ^0.4.0 |
Documentation
LIRICAL Runner for PhEval
This is the LIRICAL plugin for PhEval. With this plugin, you can leverage the prioritisation tool, LIRICAL, to run the PhEval pipeline seamlessly. he setup process for running the full PhEval Makefile pipeline differs from setting up for a single run. The Makefile pipeline creates directory structures for corpora and configurations to handle multiple run configurations. Detailed instructions on setting up the appropriate directory layout, including the input directory and test data directory, can be found here.
Installation
Clone the pheval.lirical repo and set up the poetry environment:
git clone https://github.com/yaseminbridges/pheval.lirical.git
cd pheval.lirical
poetry shell
poetry install
Configuring a single run:
Setting up the input directory
A config.yaml
should be located in the input directory and formatted like so:
tool: LIRICAL
tool_version: 2.0.0-RC2
variant_analysis: True
gene_analysis: True
disease_analysis: True
tool_specific_configuration_options:
mode: phenopacket
lirical_jar_executable: lirical-cli-2.0.0-RC2/lirical-cli-2.0.0-RC2.jar
exomiser_db_configurations:
exomiser_database:
exomiser_hg19_database: 2302_hg19_variants.mv.db
exomiser_hg38_database:
post_process:
sort_order: descending
The mode
should specify the mode you want to run LIRICAL in (either manual or phenopacket) both of these options require phenopackets as an input.
The LIRICAL data files should be located in the input directory under a subdirectory named data
If running LIRICAL with variant and/or gene analysis set to true, you will need to provide the relevant exomiser hg19/hg38 databases.
The lirical jar executable points to the location in the input directory.
The input directory should look something like so (removed some files for clarity):
.
├── 2302_hg19_variants.mv.db
├── config.yaml
├── data
│ ├── hg19_refseq.ser
│ ├── hg19_ucsc.ser
│ ├── hg38_refseq.ser
│ ├── hg38_ucsc.ser
│ ├── hgnc_complete_set.txt
│ ├── hp.json
│ ├── mim2gene_medgen
│ └── phenotype.hpoa
└── lirical-cli-2.0.0-RC2
└── lirical-cli-2.0.0-RC2.jar
Setting up the testdata directory
The LIRICAL plugin for PhEval accepts phenopackets and vcf files as an input. The plugin can be run in only disease_analysis
mode, where only phenopackets are required as an input, however, this must be specified in the config.yaml
.
The testdata directory should include subdirectories named phenopackets
and vcf
if running with gene/variant prioritisation.
e.g.,
├── testdata_dir
├── phenopackets
└── vcf
Run command
Once the testdata and input directories are correctly configured for the run, the pheval run
command can be executed.
pheval run --input-dir /path/to/input_dir \
--testdata-dir /path/to/testdata_dir \
--runner liricalphevalrunner \
--output-dir /path/to/output_dir \
--version 13.2.0
Common errors
You may see an error that is related to the current setuptools
being used:
pkg_resources.extern.packaging.requirements.InvalidRequirement: Expected closing RIGHT_PARENTHESIS
requests (<3,>=2.12.*) ; extra == 'parse'
~~~~~~~~~~^
To fix the error, setuptools
needs to be downgraded to version 66:
pip uninstall setuptools
pip install -U setuptools=="66"