Open andrewsu opened 3 years ago
see also Translator-wide discussion thread https://github.com/NCATSTranslator/TranslatorArchitecture/discussions/25 (use cases # 1 and # 3 are most relevant to the issue here, but # 2 and # 4 should also be discussed)
(and also private Slack discussion https://suwulab.slack.com/archives/GGJMCK06B/p1612911581011500)
Reasoning over the node and edge hierarchies would enable users to easily adjust the granularity of their BTE queries. For example, users should be able to configure BTE to expand (or to not expand) a query term for "bronchial disease" (DOID:1176) to its children, which include "asthma" (DOID:2841), bronchiectasis (DOID:9563), and bronchiolitis (DOID:2942), etc. without explicitly enumerating them. Similarly, users should be able to specify whether a query predicate for "affects expression of" should include both positive and negative effects on expression. We will implement both node and edge reasoning in both the python and nodejs BTE clients. Edge reasoning will leverage the edge normalization service created by the SRI.
Node normalization using the python client has already been implemented (see the "expand" config parameter to the Predict class in https://github.com/biothings/biothings_explorer/blob/master/jupyter%20notebooks/drug_response_predict.ipynb