NCATSTranslator / Feedback

A repo for tracking gaps in Translator data and finding ways to fill them.
7 stars 0 forks source link

Display Nested Support Paths (BTE) #831

Closed uhbrar closed 2 months ago

uhbrar commented 4 months ago

Query is: What drugs may treat Bethlem Myopathy

https://ui.transltr.io/results?l=Bethlem%20Myopathy&i=MONDO:0008029&t=0&r=0&q=0e1c5008-cf66-49b0-b0fc-e5ba31a3a4f0

In result for Dimethyl Sulfoxide, there is a path with an edge who's only knowledge source is BTE.

image
sstemann commented 4 months ago

this can be replicated on Test:

https://ui.test.transltr.io/main/results?l=Bethlem%20Myopathy&i=MONDO:0008029&t=0&r=0&q=b851031e-658e-4d44-a231-08a80f732674

image

tokebe commented 4 months ago

This appears to be a failure to display information from BTE's response. BTE does provide a Bethlem Myopathy -> has_phenotype -> Flexion Contracture for which it is the source, yes, however the edge provides two support graphs which show that Flexion Contracture is a phenotype of Bethlem Myopathy via as subclass (MONDO:0034022). No edge in the support graphs of this edge have BTE as a primary knowledge source.

This is a case of subclass expansion, which BTE does independently of inferred mode, which is why it's not "flattened" into BTE's inferred edge.

Genomewide commented 4 months ago

Adding @dnsmith124 and @gprice1129 to see what they see.

Genomewide commented 4 months ago

@tokebe So, this is an example of nested support edges? And those should be shown below the 'phenotype of' predicate?

andrewsu commented 4 months ago

Sorry, meant to add some more details when I tagged @Genomewide but got pulled away.

This is the ARAX visualization of the BTE response:

image

and on second look, the UI looks like it has a pretty good visualization of that:

image

And the provenance on the inferred edge and subgraphs seem good to me. I'm not quite sure what the issue is, so maybe I'd turn this back to @uhbrar and @sstemann to describe what they'd expect to see?

mbrush commented 4 months ago

As @tokebe noted above, I too suspect this a case where the source actually reports that Flexion Contracture is a phenotype_of some subtype of Bethlem Myopathy, not Bethlem Myopathy directly. Looking into the HPOA priamry source, this is indeed the case:

image

Since it is BTE who is making the subclass inference/logical entailment that Flexion Contraction must also be a phenotype_of Bethlem Myopathy, BTE is credited as the primary source for this edge. It appears that neither the UI or ARAX GUI are able to show this nested support path that would live under the "Bethlem Myopathy has_phenotype Flexion Contracture" edge.

This support path nesting approach was how it was decided to implement/report subclass-based inference/entailment a long while back, but only BTE implemented it. It has been on our list to revisit this decision in light of the current UI / landscape. at the very least, we should be sure that all ARAs are doing tings consistently ASAP.

gprice1129 commented 4 months ago

@andrewsu @sstemann @Genomewide I looked into this and the issue occurs because:

  1. The UI does not currently show support paths of edges that are themselves in a supporting path. The phenotype_of edge is inferred by BTE but the supporting paths do not show.
  2. Even if we implemented (1) the UI path generation code will not work for the phenotype_of edge above. I will have to look into making it more sophisticated to support this type of example.
Genomewide commented 4 months ago

Yeah. I agree with @gprice1129 . Looking at the json, there are support graphs for this edge. { "value": [ "support0-MONDO:0008029-has_phenotype-HP:0001371-via_subclass", "support1-MONDO:0008029-has_phenotype-HP:0001371-via_subclass" ], "attribute_type_id": "biolink:support_graphs" }

I don't have an easy way to see what the EPC would be for these. @andrewsu do you know what that would look like?

We need a fully implemented plan to show nested inferred edges.

@andrewsu would this be this way if we allowed 4 hops?

gprice1129 commented 3 months ago

Personally I think the way BTE represents this is perfectly valid, its just a matter of supporting it in the UI.

colleenXu commented 2 months ago

This UI issue can also cause "duplicate path" confusion, as explained here

sstemann commented 2 months ago

i'm not sure anything is being done here for "guppy" and cannot reproduce the issue in Test or Prod, so assuming this is closed with Fugu #776