-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BTE isn't parsing meta_knowledge_graph specs correctly for Automat #269
Comments
This likely helps to explain this situation: #262 (comment) |
This task likely also involves resaving some cached files, since these were made incorrectly... |
So far I've found the following: If that's correct then this seems to be correct as well as far as how BTE ingested that information (Looks like perhaps the way we interpreted that the info is different from what it is) . And perhaps the issue is not there... |
Another example to support this from Connections Hypothesis Provider API: |
Another small issue I found is that the metaKG cron job was outdated and only taking 1.1. apis skipping all 1.2. apis, fixing that... |
@marcodarko This is an example of a query that's failing somewhere though... It is going Gene ID -> GeneFamily, and you would expect it would use the "part_of" predicate from the Automat apis (HGNC, Robokop, covidkopkp)....
However, the BTE sub-queries use the wrong predicate (has_part) instead. POST to http://localhost:3000/v1/query and look at the logs:
|
Solved: Looks like during the metaKG construction there's an error on the order in which the the object and subject are being read from the predicates.json file pattern is as follows: OBJ : {SUB :[ PREDs] } and they are being read as SUB : {OBJ :[ PREDs] }. That's why it was mixing the predicates from Gene-GeneFamily and GeneFamily-Gene. This fix correctly gets |
@newgene please close this once the PR/main data is pushed to the prod instance... |
should be fixed now that this PR is merged: biothings/smartapi-kg.js#39 |
copied from biothings/smartapi-kg.js#39 (comment) Re-review of BTE's ability to query Automat APIs is described (the previous review was here). The APIs being called by these queries have changed:
These queries now get results from the APIs:
Not getting results from example queries for:
|
Reviewing whether BTE correctly gets info from Automat DrugCentral, Gtopdb, and Panther (the APIs that I didn't get results from in the review above): BTE is getting edges from the Automat APIs:
|
BTE seems to be switching the subject/object when parsing the Automat HGNC meta_knowledge_graph endpoint. BTE therefore sends incorrect queries to this API...
This may be an issue for other APIs as well (ingested through meta_knowledge_graph? ingested through x-bte annotation?)
After a cron job to update smartapi specs, I see this JSON snippet below in BTE's data/predicates.json file for Automat HGNC (trapi v-1.1.2). Both entries under predicates are incorrect...
For example, a direct query to the Automat HGNC meta_knowledge_graph endpoint confirms that they give us Gene part_of GeneFamily. But we have Gene has_part GeneFamily, which is incorrect...
The cron job appears to be querying Automat HGNC's endpoint correctly to get the specs. The relevant log is below:
The text was updated successfully, but these errors were encountered: