Phenopacket Store Toolkit is a Python package and CLI for managing Phenopacket Store, a collection of GA4GH Phenopacket cohorts that represent individuals with Mendelian diseases.
The toolkit aids the release and Q/C processes, and simplifies access to the Phenopacket Store data from the downstream applications.
Phenopacket Store Toolkit can be installed from Python Package Index (PyPi):
python3 -m pip install phenopacket-store-toolkitThe toolkit simplifies download and loading the cohort data. The PhenopacketStoreRegistry API
caches the release ZIP files locally (in $HOME/.phenopacket-store by default)
and simplifies the loading:
from ppktstore.registry import configure_phenopacket_registry
registry = configure_phenopacket_registry()
with registry.open_phenopacket_store(release="0.1.18") as ps:
phenopackets = list(ps.iter_cohort_phenopackets("SUOX"))
assert len(phenopackets) == 35The code checks if the release ZIP of Phenopacket Store version 0.1.18 is already
available locally, and downloads the release ZIP file if necessary.
This is followed by opening the store as ps
and loading all phenopackets of the SUOX cohort.
We use Python context manager to ensure proper closing of the ZIP file handle.
ps cannot be used outside of the context manager block.
As an alternative to using a specific Phenopacket Store release,
the latest release will be used if release argument is omitted.
The release is handled by the Command Line Interface (CLI) of the toolkit.
The release functionality requires additional dependencies, which are installed automatically
by adding release profile:
python3 -m pip install phenopacket-store-toolkit[release]Now, we can Q/C the phenopackets in the notebooks directory.
The Q/C uses HPO hierarchy, hence HPO must be provided
either as path to a hp.json file via --hpo option
or as a release tag via --hpo-release:
python3 -m ppktstore qc --hpo-release v2024-04-26 --notebook-dir notebooksand we can create the release archive by running:
python3 -m ppktstore package --notebook-dir notebooks --release-tag 0.1.18 --output all_phenopacketsThis will find all phenopackets in the notebooks folder, copy them into a top-level directory called 0.1.18,
and ZIP the directory into all_phenopackets.zip.
Find more info in our detailed documentation:
- Stable documentation (last release on
mainbranch) - Latest documentation (bleeding edge, latest commit on
developbranch)