Anonymous

Changes

Pharmacoracle

2,208 bytes added, 13:10, 27 February 2019
Hints on how to use Pharmacoracle (version 1)
==Pharmacoracle - a REST API based on the OWLAPI==The Pharmacoracle contains data from OWL ontologies that are based on CPIC recommendations provided by the [https://api.pharmgkb.org PharmGKBAPI], and which have been further curated to fit satisfy the [http://www.anx.no needs of the Department of Pharmacology at Oslo University Hospital].
Queries The Pharmacoracle was implemented as an attempt to Pharmacoracle are written in understand the field of pharmacogenomics, based on data from PharmGKB, and solving the same problem as PharmGKB's PharmCAT software [https://wwwgithub.w3.orgcom/TRPharmGKB/owl2-manchester-syntaxPharmCAT/ Manchester syntaxwiki PharmCAT software] , but in the same way as for context of the [https://protegewiki.stanford.edu/wiki/DLQueryTab DL Query Tab] technology and clinical recommendations of [https://protege.stanford.edu/ Stanford's desktop Protégé]our clinic.
===Pharmacoracle version 1===The first version of the Pharmacoracle is based on the [http://owlcs.github.io/owlapi/ OWLAPI]Queries to Pharmacoracle 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é]. The choice of technology was inspired by the [https://doi.org/10.1371/journal.pone.0093769 Ontology-Based, Mobile-Optimized System for Pharmacogenomic Decision Support at the Point-of-Care] of the [http://upgx.eu UPGx] project. The [https://bioportal.bioontology.org/ontologies/GENE-CDS ontology of Mathias Samwald] is at the core of this system. They use the [http://trowl.org/ TrOWL reasoner] instead of the [http://www.hermit-reasoner.com/ HermIT] reasoner that is at the core of Pharmacoracle. The Pharmacoracle infrastructure is written in Python, and the [http://owlcs.github.io/owlapi/ OWLAPI] is invoked from Python via [https://pexpect.readthedocs.io/en/stable/ Pexpect]. For curation, 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. 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 do 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 (publication e.g. TPMTstar3A) <ref>The Oslo University Hospital PGx OWL ontology that is used by the Pharmacoracle is still work in progress, but it is possible to have a closer, off-line look at the latest OWL version of this the [https://www.pgx.no/farmakorakel/haplotypes.owl GRCh37 star allele definitions], which is still pending)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"
|-
! Cardinality word !! Cardinality !! Explanation
|-
| some || || Connects a property to at least one class , e.g. <pre>has_haplotype some TPMTstar3A</pre>
|-
| exactly || number || Connects a property to an exact number of classes, e.g. <pre>has_haplotype exactly 1 TPMTstar3A</pre>
|-
| min || number || Connects a property to a minimum number of classes, e.g. <pre>has_haplotype min 1 TPMTstar3A</pre>
|}
|}
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===