Difference between revisions of "Pharmacoracle"
Farmakorakel (talk | contribs) (→Pharmacoracle - a REST API based on the OWLAPI) |
Farmakorakel (talk | contribs) (→Pharmacoracle - a REST API based on the OWLAPI) |
||
Line 2: | Line 2: | ||
The Pharmacoracle contains OWL ontologies that are based on CPIC recommendations provided by PharmGKB, and which have been further curated to fit the needs of the Department of Pharmacology at Oslo University Hospital. | The Pharmacoracle contains OWL ontologies that are based on CPIC recommendations provided by PharmGKB, and which have been further curated to fit the needs of the Department of Pharmacology at Oslo University Hospital. | ||
− | Queries to Pharmacoracle are | + | Queries to Pharmacoracle are written in the Manchester syntax. In order to do queries we need to know the names of the elements in the OWL ontologies. In addition we need expressions of cardinality that are used to connect OWL Properties and OWL Classes |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- |
Revision as of 12:37, 6 August 2018
Pharmacoracle - a REST API based on the OWLAPI
The Pharmacoracle contains OWL ontologies that are based on CPIC recommendations provided by PharmGKB, and which have been further curated to fit the needs of the Department of Pharmacology at Oslo University Hospital.
Queries to Pharmacoracle are written in the Manchester syntax. In order to do queries we need to know the names of the elements in the OWL ontologies. In addition we need expressions of cardinality that are used to connect OWL Properties and OWL Classes
Cardinality word | Cardinality | Explanation |
---|---|---|
some | Connects a property to at least one class | |
exactly | number | Connects a property to an exact number of classes |
min | number | Connects a property to a minimum number of classes |
For each query we add a code word to indicate the relationship between our query and the desired answer (cf. the DL Query tab in the desktop version of Stanford's Protégé)
Code word | Relationship |
---|---|
SubClasses | Get elements that contain the query (but not equivalent to the query) |
DirectSubClasses | Get only the SubClasses that are closest to the query |
EquivalentClasses | Get only elements equivalent to the query |
SuperClasses | Get elements that contain parts of the query (but not the entire query and not equivalent) |
DirectSuperClasses | Get only the SuperClasses that are closest to the query |
In order to query the Pharmacoracle automatically, we have make a Python script Pharmacolyzer that returns dosing recommendation based on a pharmacotyped patient VCF.
Examples of use
Find the PGx alleles that contain the variant snpC>T at chr6:18139228
curl https://www.pgx.no/api/pharmacoracle -d "query=SubClasses:snpCtoT_at some chr6_18139228"
Find the PGx allele that is identical to the variants snpC>T at chr6:18139228 and snpT>C at chr6:18130918
curl https://www.pgx.no/api/pharmacoracle -d "query=EquivalentClasses:(snpCtoT_at some chr6_18139228) and (snpTtoC_at some chr6_18130918)"
Find the PGx alleles that contain either snpC>T at chr6:18139228 or snpT>C at chr6:18130918
curl https://www.pgx.no/api/pharmacoracle -d "query=DirectSuperClasses:(snpCtoT_at some chr6_18139228) and (snpTtoC_at some chr6_18130918)"
Find the Azathioprine TPMT functional status of the TPMT*3B allele:
curl https://www.pgx.no/api/pharmacoracle -d "drugs=azathioprine&query=SuperClasses:has_haplotype some TPMTstar3B"
Find the Azathioprine dosing recommendations for a patient with two Azathioprine TPMT No Function alleles:
curl https://www.pgx.no/api/pharmacoracle -d "drugs=azathioprine&query=EquivalentClasses:has_phenotype some (has_function exactly 2 AzathioprineTPMT_NoFunction)"