-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6cb83eb
commit 34dfa07
Showing
1 changed file
with
84 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,105 @@ | ||
# LIRICAL Runner for PhEval | ||
This is the LIRICAL plugin for PhEval. Highly experimental. Do not use. | ||
|
||
## Developers | ||
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. | ||
|
||
An example skeleton `config.yaml` has been provided (`pheval.phen2gene/config.yaml`) which should be be correctly filled and moved to the input-dir location. | ||
## Installation | ||
|
||
Warning, the pheval library currently needs to be included as a file reference in the toml file. | ||
Clone the pheval.lirical repo and set up the poetry environment: | ||
|
||
```shell | ||
git clone https://github.com/yaseminbridges/pheval.lirical.git | ||
cd pheval.lirical | ||
poetry shell | ||
poetry install | ||
``` | ||
poetry add /Users/yaseminbridges/Documents/GitHub/pheval | ||
|
||
poetry lock | ||
## Configuring a *single* run: | ||
|
||
poetry install | ||
### Setting up the input directory | ||
|
||
A `config.yaml` should be located in the input directory and formatted like so: | ||
|
||
```yaml | ||
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 bare minimum fields are filled to give an idea on the requirements. | ||
This will change when pheval is published on pypi. | ||
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. | ||
|
||
To install the LIRICAL plugin: | ||
The lirical jar executable points to the location in the input directory. | ||
|
||
``` | ||
git clone https://github.com/yaseminbridges/pheval.lirical.git | ||
The input directory should look something like so (removed some files for clarity): | ||
|
||
cd pheval.lirical/ | ||
```tree | ||
. | ||
├── 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 | ||
poetry add /path/to/local/pheval | ||
``` | ||
### Setting up the testdata directory | ||
|
||
poetry lock | ||
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`. | ||
|
||
poetry install | ||
The testdata directory should include subdirectories named `phenopackets` and `vcf` if running with gene/variant prioritisation. | ||
|
||
e.g., | ||
|
||
```tree | ||
├── testdata_dir | ||
├── phenopackets | ||
└── vcf | ||
``` | ||
|
||
To install PhEval: | ||
## Run command | ||
|
||
Once the testdata and input directories are correctly configured for the run, the `pheval run` command can be executed. | ||
|
||
```bash | ||
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 | ||
``` | ||
git clone https://github.com/monarch-initiative/pheval.git | ||
|
||
## Common errors | ||
|
||
You may see an error that is related to the current `setuptools` being used: | ||
|
||
```shell | ||
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: | ||
|
||
```shell | ||
pip uninstall setuptools | ||
pip install -U setuptools=="66" | ||
``` |