Closed buniello closed 3 months ago
Scoping of this task has been already discussed with FE team for implementation (see screenshot above)
isDirectTarget
API field in the Pharmacogenetics widget for both target and drug pages@chinmehta, forgot to mention that once the new Is Direct Target of the Drug
column is added to the Drug page widget, the tooltip on the Gene
column entries should be removed as contains the same info.
Please see screenshot below for more info:
After some back and forth between @buniello, @emcdonagh-OT and I, I have generated a dataset of target safety events derived from PGx evidence.
The main idea behind the annotation of these liabilities lies in the extraction of genotype/phenotype relationships from PGx evidence reporting drug-induced toxicity events. To do this, we need to parse the observed phenotype to extract a significant description of the effect of the genotype and aggregate them at the target level.
Most of the genes with variants affecting the response of a drug weren't reporting any liabilities with the other datasource. This new source brings information for 524 new genes.
After aggregating the observed phenotypes for all genotypes described for DPYD, we end up with 4 differentiated safety events.
+---------------+-----------------------------------------------------------------+
|id |events |
+---------------+-----------------------------------------------------------------+
|ENSG00000188641|[drug toxicity, diarrhea, hyperbilirubinemia, hand-foot syndrome]|
+---------------+-----------------------------------------------------------------+
Each evidence represent the relationship between a target and an unique liability. This is the evidence for DPYD and hyperbilirubinemia, for example:
id | ENSG00000188641
event | hyperbilirubinemia
isHumanApplicable | true
datasource | PharmGKB
url | https://www.pharmgkb.org/search?query=ENSG00000188641
studies | [{capecitabine induced effect, patient-level}]
An important thing to consider when understanding this data, is that the liabilities are observed in a real-world scenario after a patient takes a drug. Therefore, the event has to be interpreted in the context of the drug.
To describe these considerations, I've used the studies
field. Each "study" in the array is a different drug after which the effect can be observed.
This is a high-level aggregation, to understand the specific genotypes that are driving these responses (and their directions), one has to look at the pharmacogenetics widget.
Following this approach, targets have on average ~4 events, but more extreme cases like ABCB1 with 71 liabilities.
id | ENSG00000085563
events | [virologic response, Lymphopenia, mucositis, opioid dependence, bleeding, cardiotoxicity, asthenia, periorbital edema, transplant rejection, longer QTc interval, Thromboembolism, drug toxicity, toxicity-related failure, CNS depression, grade 1-2 neurotoxicity, adverse effects, hand-foot syndrome, diarrhea and vomiting, shorter QTc interval, hypercholesteremia, nausea, CD4-cell count, hypertension, somnolence, Mucositis, worse response to sevoflurane and remifentanil, neutropenia, leukopenia, and diarrhea, leukopenia, liver injury, sudden death, toxicities, CNS depression in breast-feeding infants, adverse events and response to sevoflurane and remifentanil, clozapine plasma concentrations, major adverse cardiovascular events, nevirapine hepatotoxicity, vomiting, hemorrhage, constipation, neutropenia, adverse events, myalgia, lymphopenia, estimated glomerular filtration rate (eGFR), palpitations, diarrhea, adverse drug reaction scores, adverse events, hand-foot syndrome, hypertension, or neutropenia, longer hospital stay due to respiratory depression, clozapine plasma concentrations and agranulocytosis or neutropenia, gastrointestinal toxicity, eGFR, Osteonecrosis, respiratory depression, hepatotoxicity, sudden death when using opioids, likelihood to postural hypotension, peripheral neuropathy, total and low-density lipoprotein cholesterol, neurotoxicity, clozapine-induced agranulocytosis or neutropenia, hypokalemia, suicidal ideation, chance of a prolonged hospital stay due to respiratory depression, triglyceride levels, hyperbilirubinemia, side effects, diarrhea and skin rash, anemia, arthralgia, neutropenia or hand-foot syndrome]
s | 71
The full dataset is here: pgx_safety_liabilities.json.gz
and the notebook where I have played with this data is here.
Let me know your thoughts. If there aren't any, my proposal is to add the new logic to the current safety liabilities module. In terms of data, the model is the same, so this addition won't have consequences for BE or FE.
This looks good. Good idea to add to the existing safetyLiabilities schema.
It seems relevant to include these clear cases of pgx mediated toxicity in the safety widget. I wondered whether there is a chance of confusing target and drug-related toxicity, e.g. in the DPYD example there is only toxicity if using 5-FU related drugs, so it may not be a problem if directly targeting the protein (the variation may only affect some binding sites - hypothetical example). But then if you're considering such a target as a candidate you'd probably like to know the existing pgx data. In addition, the same is true for the known safety liabilities, for example some target effects compensate each other so even hitting hERG is sometimes tolerated. As long as we can filter out the PharmGKB rows easily from the data downloads (I do the same for ToxCast, filter out by source) if they're not needed for certain safety analyses.
If this is adding 589 unique targets, what's the difference with the figure of 69 that Ellie quoted in her presentation in the safety meeting earlier this month? If these 69 are related to multiple drugs whereas the rest to one only, just wondering whether a separate column as Ellie suggested in her presentation (pharmacogenes vs. known adverse event columns) is necessary.. when new drugs get approved and knowledge increases then a gene may move category (loosing a safety liability would be confusing perhaps). Even if there is only one drug known, with a clear link to toxicity from pgx, it seems relevant to include in the safetyLiabilities schema.
The URLs to PharmGKB direct to results of a query page.. It doesn't seem so useful perhaps? Would it be more useful to direct to the variant annotations page of the gene e.g. https://www.pharmgkb.org/gene/PA33529/variantAnnotation ?
Noticed a few cases where the event is 'response' which does not seem so informative? E.g. {"id":"ENSG00000005421","event":"response","isHumanApplicable":true,"datasource":"PharmGKB","url":"https://www.pharmgkb.org/search?query=ENSG00000005421","studies":[{"name":"clopidogrel induced effect","type":"patient-level"}]}
Is there plan to map to EFO where possible? E.g. hyperbilirubinemia would be easy to map.
Thanks!
@inessmit Thank you for the feedback!! In general, you're right about the fact that these liabilities are only reported in the presence of the drug. This is not too far off the ToxCast data, where liabilities are derived from chemical screens. We basically forllowed the same approach: for each target/liability, we explicitly list in the studies
object the drugs after which the effect is observed. Just as you mention, filtering these evidence by datasource
is easy.
Regarding your comments:
drug response
which is not as informative for the case of target safety. I've removed them from the set (there were just 7 of them).Newer file: pgx_safety_liabilities.json.gz
On the examples I tried, the search results on PharmGKB didn't include the page for the gene of interest in the first hits..
Thank you for your feedback Ines.
Regarding filtering out for certain safety analyses, this is why we also wanted to provide that these annotations were on the patient level to distinguish them from the in vitro or animal model sources...but we still thought relevant information you would want to see for the gene related to toxicity.
I was wondering if the 'Known adverse events' target prioritisation factor column needs to be renamed to something like 'Toxicity' or 'Toxicology', as most of the annotations here are not ADEs reported in patients (except the PGx associations).
tagging @d0choa here on the potential column header change
I agree that Adverse event
is a term that is usually understood in a clinical setting. I'd rename to Known Safety Event
(to align with the widget itself) or to Known Safety Liabilities
"Known Safety Event" seems more target focused. "Toxicology" has a stronger drug connotation. The first one looks more general but I think both are correct for the current data.
Slight preference for the first but no strong feelings
Known adverse events
in the target prioritisation view to Known safety events
The ingestion has been successful. The target
dataset now brings the proposed evidence for 541 targets (429 of them without previous safety annotation).
DPYD is one example.
We now define liabilities for 932 targets. This is a breakdown per source, PharmGKB being the most abundant one:
+--------------------------------------------------------------------------------------------+-----+
|sources |count|
+--------------------------------------------------------------------------------------------+-----+
|[PharmGKB] |429 |
|[ToxCast] |194 |
|[ToxCast, PharmGKB] |47 |
|[Lynch et al. (2017)] |45 |
|[AOP-Wiki] |40 |
|[Force et al. (2011)] |25 |
|[Lamore et al. (2017)] |22 |
|[AOP-Wiki, ToxCast, PharmGKB] |12 |
|[AOP-Wiki, ToxCast] |10 |
|[Force et al. (2011), ToxCast] |10 |
|[AOP-Wiki, PharmGKB] |7 |
|[PharmGKB, Lynch et al. (2017)] |6 |
|[Bowes et al. (2012), ToxCast, PharmGKB, Lynch et al. (2017)] |6 |
|[ToxCast, Lynch et al. (2017)] |5 |
|[Urban et al. (2012), Bowes et al. (2012), ToxCast, Lynch et al. (2017)] |5 |
|[Bowes et al. (2012), PharmGKB, Lynch et al. (2017)] |4 |
|[Urban et al. (2012), Bowes et al. (2012), Lynch et al. (2017)] |3 |
|[Urban et al. (2012), Bowes et al. (2012), ToxCast, PharmGKB, Lynch et al. (2017)] |3 |
|[Urban et al. (2012), Bowes et al. (2012), PharmGKB, Lynch et al. (2017)] |3 |
|[Lamore et al. (2017), Force et al. (2011)] |3 |
|[AOP-Wiki, Bowes et al. (2012), ToxCast, Lynch et al. (2017)] |3 |
|[Bowes et al. (2012), Lynch et al. (2017)] |2 |
|[Force et al. (2011), ToxCast, PharmGKB] |2 |
|[Bowes et al. (2012), PharmGKB] |2 |
|[Bowes et al. (2012)] |2 |
|[Urban et al. (2012), Force et al. (2011), ToxCast] |2 |
|[AOP-Wiki, Lynch et al. (2017)] |2 |
|[Lamore et al. (2017), ToxCast] |2 |
|[AOP-Wiki, Force et al. (2011), ToxCast] |2 |
|[AOP-Wiki, Urban et al. (2012), Bowes et al. (2012), ToxCast, PharmGKB, Lynch et al. (2017)]|2 |
|[Lamore et al. (2017), PharmGKB] |2 |
|[Urban et al. (2012), Bowes et al. (2012)] |2 |
|[Urban et al. (2012), ToxCast, PharmGKB, Lynch et al. (2017)] |2 |
|[Urban et al. (2012), ToxCast, PharmGKB] |2 |
|[Bowes et al. (2012), ToxCast, Lynch et al. (2017)] |2 |
|[ToxCast, PharmGKB, Lynch et al. (2017)] |2 |
|[Urban et al. (2012)] |2 |
|[AOP-Wiki, Bowes et al. (2012), PharmGKB] |1 |
|[Urban et al. (2012), Lynch et al. (2017)] |1 |
|[AOP-Wiki, Urban et al. (2012), PharmGKB] |1 |
|[Urban et al. (2012), PharmGKB, Lynch et al. (2017)] |1 |
|[AOP-Wiki, Bowes et al. (2012), ToxCast, PharmGKB] |1 |
|[AOP-Wiki, ToxCast, PharmGKB, Lynch et al. (2017)] |1 |
|[AOP-Wiki, Urban et al. (2012), Bowes et al. (2012), Lynch et al. (2017)] |1 |
|[Lamore et al. (2017), Force et al. (2011), ToxCast] |1 |
|[AOP-Wiki, PharmGKB, Lynch et al. (2017)] |1 |
|[Force et al. (2011), PharmGKB] |1 |
|[AOP-Wiki, Force et al. (2011), ToxCast, PharmGKB] |1 |
|[AOP-Wiki, Bowes et al. (2012), Lynch et al. (2017)] |1 |
|[AOP-Wiki, Urban et al. (2012), Bowes et al. (2012), PharmGKB, Lynch et al. (2017)] |1 |
|[AOP-Wiki, Urban et al. (2012), Bowes et al. (2012), ToxCast, Lynch et al. (2017)] |1 |
|[AOP-Wiki, ToxCast, Lynch et al. (2017)] |1 |
|[Urban et al. (2012), ToxCast] |1 |
|[Urban et al. (2012), Bowes et al. (2012), PharmGKB] |1 |
|[Urban et al. (2012), ToxCast, Lynch et al. (2017)] |1 |
+--------------------------------------------------------------------------------------------+-----+
New safety evidence with minor changes to establish a clearer relationship between specific genotypes and the observed safety liabilities for each drug: gs://otar001-core/TargetSafety/json/safetyLiabilities-2024-03-05.json.gz
studies.description
now contains all variation informing the relation between the target and the adverse drug response. This was suggested by @d0choa, and it makes easier to interconnect evidence between the target safety and the PGx widgets.
biosamples | null
datasource | PharmGKB
effects | null
event | hyperbilirubinemia
eventId | HP_0002904
id | ENSG00000188641
isHumanApplicable | true
literature | null
studies | [{Genetic variation linked to this safety liability: 1_97696806_A_A,A, 1_97696806_A_A,G, capecitabine induced effect, patient-level}]
targetFromSourceId | null
url | https://www.pharmgkb.org/search?query=ENSG00000188641
@emcdonagh-OT suggested to show the gene directionality in the Dosing effects column to understand better the mechanism.
After looking at the data, I don't think this is very impactful for the time being. Data is very sparse (this curation is only available for the evidence of higher confidence), and the fact that we are aggregating the effect of many alleles and drugs to extract target information leads to the fact that we can have contradicting directionalities. These are all the different genotypic directionalities per target/event:
+----------------------------------------------------------------------+-----+
|directions |count|
+----------------------------------------------------------------------+-----+
|[Presence] |82 |
|[Normal function, No function] |24 |
|[Decreased function, Normal function, No function] |23 | # <- potentially interesting
|[Increased function, Normal function] |8 | # <- potentially interesting
|[No function] |7 | # <- potentially interesting
|[Decreased function] |6 | # <- potentially interesting
|[Increased function, Decreased function, Normal function, No function]|6 |
|[Decreased function, Normal function] |5 | # <- potentially interesting
|[IV/Normal] |4 |
|[II/Deficient, IV/Normal, III/Deficient] |3 | # <- potentially interesting
|[Uncertain function, Normal function] |3 |
|[Uncertain function, Normal function, No function] |1 |
|[Increased function, Decreased function, Normal function] |1 |
|[III/Deficient] |1 | # <- potentially interesting
|[Increased function, Normal function, No function] |1 |
+----------------------------------------------------------------------+-----+
I've flagged the ones that we could be informing about, assuming a dominant model. A total of 52 safety target/safety liabilities doesn't look like a lot, so I'd propose to leave this out of scope.
We would like to use Pharmacogenetics to inform target prioritisation and visualise the data onto out target prioritisation page (full scoping on the right attribute still needs to be covered).
In order to do that, we need:
[x] Star alleles datasets from EVA (pending data submission) - please see this ticket
[x] Expose the
isDirectTarget
API field in the Pharmacogenetics widget.This can be an additional column in the Pharmacogenetics widget named Is Direct Target of the Drug with a clue tick for the
true
results and empty row forfalse
query response. The new column will be placed between theDrug Response Category
and theConfidence Level
columns (see sketch below with example for target page.)Same plan would apply for both Target and Drug page widgets.
Example pharmacogenetics API query target
``` query PharmacogenomicsQuery($ensemblId: String!) { target(ensemblId: $ensemblId) { id pharmacogenomics { variantRsId genotypeId variantFunctionalConsequence { id label } drugFromSource drugId phenotypeFromSourceId genotypeAnnotationText phenotypeText pgxCategory evidenceLevel studyId literature isDirectTarget } } } ```Example pharmacogenetics API query drug
``` query PharmacogenomicsQuery($chemblId: String!) { drug(chemblId: $chemblId) { id pharmacogenomics { variantRsId genotypeId variantFunctionalConsequence { id label } target { id approvedSymbol } isDirectTarget phenotypeFromSourceId genotypeAnnotationText phenotypeText pgxCategory evidenceLevel studyId literature } } } ```