NCATSTranslator / testing

Materials and tools for testing Translator components
1 stars 9 forks source link

Disease(s) Treated By Drug - Some ARS Actors Return Results #20

Open sstemann opened 3 years ago

sstemann commented 3 years ago

Query: https://github.com/NCATSTranslator/testing/blob/main/ars-requests/not-none/beclomethasone.json PK: 639a44f4-865f-426d-83b7-e4e4e039d0de (3/22 biolink:Drug) PK: UPDATED, original had issue with object/subject e25de65d-ec95-4111-b266-92a7830a7894 (3/23 ~1140ET Bbiolink:ChemicalSubstance) What diseases are treated by drug: beclomethasone dipropionate? Results Tracker: https://docs.google.com/spreadsheets/d/1Y2yfUFl2SIgv5KkyxdQB94UE3HtVdJNJ7KdnwQgZcYI/edit#gid=0

Drug image

Chemical Substance image

edeutsch commented 3 years ago

For us at least, there are lots of results if you use "treats":

{
      "edges": {
        "e01": {
          "object": "n0",
          "predicate": "biolink:treats",
          "subject": "n1"
        }
      },
      "nodes": {
        "n0": {
          "category": "biolink:Drug",
          "id": "DRUGBANK:DB00394"
        },
        "n1": {
          "category": "biolink:Disease"
        }
      }
    }

if this is a test of symmetrical treats <==> treated_by then we have failed. And probably others as well. We do not make this transformation yet.

vdancik commented 3 years ago

For MolePro changing from "biolink:Drug" to "biolink:ChemicalSubstance" will make this query working. We are still working on getting "Drug" Biolink class implemented and connected to other classes, so for now only ChemicalSubstance works.

{
    "message": {
        "query_graph": {
            "edges": {
                "e01": {
                    "object": "n1",
                    "predicate": "biolink:treats",
                    "subject": "n0"
                }
            },
            "nodes": {
                "n0": {
                    "category": "biolink:ChemicalSubstance",
                    "id": "DRUGBANK:DB00394"
                },
                "n1": {
                    "category": "biolink:Disease"
                }
            }
        }
    }
}
MarkDWilliams commented 3 years ago

Apologies, I believe I have corrected the errors in the query now.

sstemann commented 3 years ago

@arifx @vemonet openpredict errors now - ignore the earlier comments

dkoslicki commented 3 years ago

Re: Eric's comment, here is the ARAX result when using treats instead of treated_by: https://arax.ncats.io/?r=5504 We have an open issue on this.

arifx commented 3 years ago

@sstemann I checked : https://arax.ncats.io/?r=5504, it seems normal. When I enter json query above I see successful completion. Can you give me a little more detail on how to see the openpredict errors please?

dkoslicki commented 3 years ago

@arifx The URL https://arax.ncats.io/?r=5504 is just the ARAX ARA result swhen using the treats instead of treated_by predicate as Eric mentioned above. It does not show results for any other team

dkoslicki commented 3 years ago

@arifx if you want to see all team results, go to https://arax.ncats.io, click <id> on the top, and enter the PK: 639a44f4-865f-426d-83b7-e4e4e039d0de

andrewsu commented 3 years ago

Like MolePro, BTE right now only uses biolink:ChemicalSubstance in the metakg, not biolink:Drug. We have an enhancement planned that will allow us to create query transformation rules for this case and other similar ones. No ETA on that just yet...

pg427 commented 3 years ago

For Explanatory Agent, we currently have Drug-treats-Disease association enabled instead of the "treated_by" association. We're extracting results for this predicate via CHP, who seem to not be returning results for this 1H. We plan to discuss this in detail within the team and should have a response soon.

sstemann commented 3 years ago

Like MolePro, BTE right now only uses biolink:ChemicalSubstance in the metakg, not biolink:Drug. We have an enhancement planned that will allow us to create query transformation rules for this case and other similar ones. No ETA on that just yet...

@andrewsu we did try with Chem Substance as well - BTE and MolePro are still 0. It's results PK is: 4510fdb3-b044-42e3-88af-9233aeadacdf

bill-baumgartner commented 3 years ago

Text Mining Provider will eventually return results for this query. We are still working on extracting relationships of this type from the literature. That said, had we had these data already the query would still have failed for some of the reasons listed by other teams above: we use biolink:ChemicalSubstance to represent chemicals at this point, not biolink:Drug, and our KP doesn't yet transform A-treated_by->B to B-treats->A.

andrewsu commented 3 years ago

Like MolePro, BTE right now only uses biolink:ChemicalSubstance in the metakg, not biolink:Drug. We have an enhancement planned that will allow us to create query transformation rules for this case and other similar ones. No ETA on that just yet...

@andrewsu we did try with Chem Substance as well - BTE and MolePro are still 0. It's results PK is: 4510fdb3-b044-42e3-88af-9233aeadacdf

@sstemann can you confirm that this is the query you used? I just tested this on https://api.bte.ncats.io/v1/query/ and it returns nonzero results.

{
  "message": {
    "query_graph": {
      "edges": {
        "e01": {
          "object": "n0",
          "predicate": "biolink:treated_by",
          "subject": "n1"
        }
      },
      "nodes": {
        "n0": {
          "category": "biolink:ChemicalSubstance",
          "id": "DRUGBANK:DB00394"
        },
        "n1": {
          "category": "biolink:Disease"
        }
      }
    }
  }
 }

BTE also works for the biolink:treats version of the query that Vlado posted above.

Also, in the commit above by @kevinxin90, we also now treat biolink:Drug as biolink:ChemicalSubstance so the original query works as well. Not the final solution, but a temporary fix...

kevinxin90 commented 3 years ago

Text Mining Provider will eventually return results for this query. We are still working on extracting relationships of this type from the literature. That said, had we had these data already the query would still have failed for some of the reasons listed by other teams above: we use biolink:ChemicalSubstance to represent chemicals at this point, not biolink:Drug, and our KP doesn't yet transform A-treated_by->B to B-treats->A.

@bill-baumgartner The TRAPI interface we provide for you support reversal of biolink predicates and consequently reversal of TRAPI query graph already. So you don't need to add those reverse edges in your KGX.

MarkDWilliams commented 3 years ago

@andrewsu I can confirm that is the query we ran, but I would be happy to run it again and check the results. As I recall, it was odd that I sent the query you posted, but when I viewed the results from BTE, it looked like it had the version with "Drug" in the query_graph it returned.

EDIT: Taking a closer look, it looks like the query graph you posted has the subject and object of the edge opposite of what was in the query I sent.

EDIT2: Yes, I can confirm that with the directionality of the edge as it is in the query you posted @andrewsu BTE does return results.

arifx commented 3 years ago

@sstemann @MarkDWilliams @vemonet : for the following query ( PK id: 3c1f82b4-c359-48a4-9b8b-7d9bc6ab4abc ) returns successful for OpenPredict , basically we changed "treated_by" to "treats"

curl -X POST "https://ars.transltr.io/ars/api/submit" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"message\": { \"query_graph\": { \"edges\": { \"e01\": { \"subject\": \"n0\", \"predicate\": \"biolink:treats\", \"object\": \"n1\" } }, \"nodes\": { \"n0\": { \"category\": \"biolink:Drug\", \"id\": \"DRUGBANK:DB00394\" }, \"n1\": { \"category\": \"biolink:Disease\" } } } } }"

dkoslicki commented 3 years ago

The "no results" problem with Team Expander's ARAX has been fixed. It boiled down to being able to accept treats and treated_by. See the relevant issue 1268

karafecho commented 3 years ago

@sstemann @MarkDWilliams : I thought I'd chime in with a few comments.

First, ICEES is now registered with the ARS. We initially didn't register only because we didn't see a need, given the Architecture Principles.

Second, wrt the query under discussion here, ICEES is not able to respond because (1) the service does not support the predicates biolink:treats or biolink:treated_by and (2) we do not map to DrugBank identifiers, but we do map to RxNORM, SNOMED, UMLS, PubChem, ChEMBL, MeSH, SMILES, and CAS. If the query invoked biolink:correlated_with and any of the currently supported identifiers, then ICEES would have returned a response.

WRT identifier mapping, our plan moving forward is to use the SRI normalizer as our primary source of identifiers and Athena as our secondary source, so that should cover DrugBank. I don't envision ICEES as supporting biolink:treats or biolink:treated_by, at least not with EHR data, but possibly with clinical study data.

Hope this helps...

sstemann commented 3 years ago

update 4/20/21 PK: e0508455-ee4d-4d16-937e-fedf42bc077d

image

balhoff commented 3 years ago

CAM-KP doesn't contain any biolink:Disease, so 0 results is expected.

sstemann commented 3 years ago

Two queries:

  1. GH-20-diseaseTreatedByBeclomethasone.json - Results: 3d0de0ab-473b-4292-98c3-5ded4aad49c5
  2. GH-20-beclomethasoneTreatsDisease.json - Results: c5c04311-cbdc-46e1-bb0d-b15f149b73be

@pg427 @brettasmi @webyrd @vdancik @bill-baumgartner - your tools respond to 2 in the above but not to 1 - any insight there?

pg427 commented 3 years ago

@sstemann Explanatory Agent is currently unable to handle queries where the object node is known i.e. has a known ID and the subject node is unknown. This issue is being taken care of in our upcoming design update. Once we have the update implemented, we can expect to see results for 1. GH-20-diseaseTreatedByBeclomethasone.json - Results: 3d0de0ab-473b-4292-98c3-5ded4aad49c5 as well.

colleenXu commented 2 years ago

I ran the updated query below through the ARS, PK: 9fa271eb-30f9-4c89-a205-6901772808b5

Screen Shot 2021-09-22 at 12 48 00 PM

The updated query could be something like this (it's missing the workflow section but the rest is TRAPI v1.2):

{
    "message": {
        "query_graph": {
            "nodes": {
                "n0": {
                    "ids": ["DRUGBANK:DB00394"],
                    "categories":["biolink:ChemicalEntity"]
                },
                "n1": {
                    "categories": ["biolink:Disease"]
                }
            },
            "edges": {
                "e0": {
                    "subject": "n0",
                    "object": "n1",
                    "predicates":["biolink:treats"]
                }
            }
        }
    }
}