Anonymous

Changes

Pharmacoracle

66 bytes added, 13:10, 27 February 2019
Hints on how to use Pharmacoracle (version 1)
==Pharmacoracle - a REST API based on the [http://owlcs.github.io/owlapi/ OWLAPI]==The Pharmacoracle contains data from OWL ontologies that are based on CPIC recommendations provided by the [https://api.pharmgkb.org PharmGKB API], and which have been further adapted curated to satisfy the [http://www.anx.no needs of the Department of Pharmacology at Oslo University Hospital].
The Pharmacoracle was implemented as an attempt to understand the field of pharmacogenomics, based on data from PharmGKB, and solving the same problem as PharmGKB's PharmCAT software [https://github.com/PharmGKB/PharmCAT/wiki PharmGKBs PharmCAT software], but in the context of the technology and clinical recommendations of our clinic. It may be sensible to integrate PharmCAT in the Pharmacoracle, as soon as PharmCAT becomes the gold standard for VCF to PGx recommendations.
===Pharmacoracle version 1===The first version of the Pharmacoracle is based on the [http://owlcs.github.io/owlapi/ OWLAPI]Queries to Pharmacoracle are have to be written in the [https://www.w3.org/TR/owl2-manchester-syntax/ Manchester syntax] in the same way as for the [https://protegewiki.stanford.edu/wiki/DLQueryTab DL Query Tab] of [https://protege.stanford.edu/ Stanford's desktop Protégé]. An advantage The choice of this approach is that technology was inspired by the queries replaces the need of a separate rules engine (rules are to some extent built into the OWL semantics)[https://doi. A disadvantage is that the performance in a production environment may be suboptimal (slow)org/10. I believe that the standard way to use OWL is to make a triplet store database (RDF database, e1371/journal.gpone. JENA) based on 0093769 Ontology-Based, Mobile-Optimized System for Pharmacogenomic Decision Support at the Point-of-Care] of the OWL ontology[http://upgx.eu UPGx] project. The rules can then be written as SPARQL queries to this database. It is possible that there are more lessons to be learned from the PGx clinical decision support ontology of [https://bioportal.bioontology.org/ontologies/GENE-CDS ontology of Mathias Samwald], who is involved in at the core of this system. They use the [http://trowl.org/ TrOWL reasoner] instead of the [http://upgxwww.hermit-reasoner.eu UPGxcom/ HermIT] projectreasoner that is at the core of Pharmacoracle.
The Pharmacoracle infrastructure is written in Python. But , and the [http://owlcs.github.io/owlapi/ OWLAPI] is mainly JAVA technologyinvoked from Python via [https://pexpect.readthedocs.io/en/stable/ Pexpect]. For curation, and making the Pharmacoracle totally JAVA, might speed up things. A a link between OWL classes and Python is provided by [http://www.lesfleursdunormal.fr/static/_downloads/article_owlready_aim_2017.pdf Jean Baptiste Lamy's Owlready2], which we use to translate PharmGKB's JSON-LD to OWL, but it seems that the OWLAPI should be run separately.
The Pharmacoracle is used in our PGx analysis script [[Pharmacolyzer]], but can also be used directly.
===Hints on how to use it Pharmacoracle (see also example section belowversion 1)===In order to write queries to an OWL ontology we need to know the names of the OWL elements, notably OWL Properties (e.g. has_haplotype) and and OWL Classes (e.g. TPMTstar3A). <ref>The Oslo University Hospital PGx OWL ontology that is used by the Pharmacoracle is still work in progress, and therefore not publicly accessible, but PharmGKB nomenclature it is kept where possibleto have a closer, off-line look at the latest OWL version of the [https://www.pgx.no/farmakorakel/haplotypes.owl GRCh37 star allele definitions], which is best studied in [https://protegewiki.stanford.edu/wiki/Protege4UserDocs Stanford's Desktop Protégé]. For an introduction to PGx OWL ontology curation, have a look at our tutorial for [[WebProtege]]</ref>.  In addition we need to know the Manchester expressions of cardinality that are used to connect OWL Properties and OWL Classes, in particular:
{| class="wikitable"
|-
|}
In order to query the Pharmacoracle automatically, we have made a Python script [[Pharmacolyzer]] that returns dosing recommendation based on a [[Pharmacotyper|pharmacotyped]] patient VCF.
===Examples of use===