opentargets / issues

Issue tracker for Open Targets Platform and Open Targets Genetics Portal
https://platform.opentargets.org https://genetics.opentargets.org
Apache License 2.0
12 stars 2 forks source link

Scoping use of pharmacogenetics to inform target prioritisation #3202

Closed buniello closed 3 months ago

buniello commented 5 months ago

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:

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 for false query response. The new column will be placed between the Drug Response Category and the Confidence Level columns (see sketch below with example for target page.)

Same plan would apply for both Target and Drug page widgets.

Screenshot 2024-02-05 at 17 34 22
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 } } } ```
buniello commented 5 months ago

Scoping of this task has been already discussed with FE team for implementation (see screenshot above)

@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:

Screenshot 2024-02-05 at 16 07 55
ireneisdoomed commented 4 months ago

Pharmacogenetics informing target safety

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.

Main metrics

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.

Example of target safety events for DPYD

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.

Other comments

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.

inessmit commented 4 months ago

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.

Thanks!

ireneisdoomed commented 4 months ago

@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:

  1. 69 are the genes that PharmGKB/CPIC consider to be of high importance from a drug response point of view. This definition is different than the one we apply to extract this dataset, which is: any gene whose variation can result in drug-related toxicity. Having a separate column to define pharmacogenes (any gene whose variation have an effect on drug efficacy) is a different topic.
  2. The most sensible thing to link would be PharmGKB's clinical annotations for a gene. However linking to this page requires storing the internal ID PharmGKB uses for targets. We decided not to do it, and using their search page is a good compromise. Did you not find the reference straightforward?
  3. Thank you! These evidence were actually reporting a change in 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).
  4. Yes, we will map to EFO but i don't expect to have a high coverage. We can work this out with EFO in the future to include these terms.

Newer file: pgx_safety_liabilities.json.gz

inessmit commented 4 months ago

On the examples I tried, the search results on PharmGKB didn't include the page for the gene of interest in the first hits..

emcdonagh-OT commented 4 months ago

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.

emcdonagh-OT commented 4 months ago

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).

buniello commented 4 months ago

tagging @d0choa here on the potential column header change

ireneisdoomed commented 4 months ago

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

d0choa commented 4 months ago

"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

prashantuniyal02 commented 4 months ago
ireneisdoomed commented 4 months ago

Target safety evidence after the first pipeline run

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    |
+--------------------------------------------------------------------------------------------+-----+
ireneisdoomed commented 4 months ago

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

Same example as above, new evidence

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

ireneisdoomed commented 4 months ago

@emcdonagh-OT suggested to show the gene directionality in the Dosing effects column to understand better the mechanism.

image

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.