→ AbstractThe presenter(s) will be available for live Q&A in this session (BCC West).
JiwenXin 1,SebastianLelong 1, XinghuaZhbionitioou 1, MarcoCano 1, GingerTsueng 1, ChunleiWu 1, Andrew
Su 1
1 Scripps Research, 10550 North Torrey Pines Road, La Jolla, CA 92037, kevinxin@scripps.edu
Project Website:
https://biothings.io/explorer/ Source Code:
https://github.com/biothings/biothings_explorer License: Apache License
BioThings Explorer (BTE) represents a distributed biomedical data integration solution that enables complex queries to be constructed, executed by aligning and connecting disparate RESTful APIs. It facilitates exploring and querying the vast wealth of biomedical data, which is continuously being generated by investigators, granting users the opportunity to seek out logical relationships between bio-entities and discover hidden connections in biomedical data without the burden to build a centralized data warehouse.
BioThings Explorer leverages SmartAPI (https://smart-api.info), an API registry that extends the OpenAPI standard. SmartAPI records provide rich metadata info of the type of associations (e.g. Disease (input) -> treated_by -> Gene (output)) an API is able to deliver, as well as how to retrieve that association. (An example can be found at https://bit.ly/smartapi_opentarget). Together, these SmartAPI records form a metaknowledge graph (https://smartapi.info/registry/translator/meta-kg) that describes the compatibility of APIs based on shared input and output types. BioThings Explorer can then take advantage of the metaknowledge graph to automate the planning and execution of queries across the API network based on specific user requests.
Compared to traditional centralized data integration solutions, BTE offers several advantages. First, it can be easily extended by the community. Adding a new API into the distributed knowledge graph only requires the creation of a SmartAPI metadata record, not the addition of any new code to enforce standardized syntax. Because of its extensibility, over 27 APIs have already been integrated into BTE, covering 138 API operations and 14 semantic types. Second, querying source APIs on the fly guarantees that the data retrieved are always up-to-date with the source. Last, this approach is highly scalable, since the BTE client runs on each user's own computing infrastructure, so there is no centralized component that could become a single point of failure.
Through both the Python package and the web interface, BioThings Explorer can be used to answer two classes of queries -- "PREDICT" and "EXPLAIN". The EXPLAIN queries are designed to identify plausible reasoning chains to explain the relationship between two entities, for example, Why does imatinib have an effect on the treatment of chronic myelogenous leukemia (CML)? (try it live at CoLab: https://bit.ly/bte_explain_colab). And the PREDICT queries are designed to predict plausible relationships between one entity and an entity class, for example, What drugs might be used to treat hyperphenylalaninemia? (try it live at CoLab: https://bit.ly/bte_predict_colab).