This notebook demonstrates basic usage of BioThings Explorer, an engine for autonomously querying a distributed knowledge graph. BioThings Explorer can answer two classes of queries -- "EXPLAIN" and "PREDICT". EXPLAIN queries are described in EXPLAIN_demo.ipynb. Here, we describe PREDICT queries and how to use BioThings Explorer to execute them. A more detailed overview of the BioThings Explorer systems is provided in these slides.
PREDICT queries are designed to predict plausible relationships between one entity and an entity class. For example, in this notebook, we explore the question:
"What drugs might be used to treat hyperphenylalaninemia?"
To experiment with an executable version of this notebook, .
First, install the biothings_explorer and biothings_schema packages, as described in this README. This only needs to be done once (but including it here for compability with ).
In [1]:
%%capture
!pip install git+https://github.com/biothings/biothings_explorer#egg=biothings_explorer
Requirement already satisfied: biothings_explorer from git+https://github.com/biothings/biothings_explorer#egg=biothings_explorer in ./ENV/lib/python3.7/site-packages (0.0.1)
Requirement already satisfied: jsonpath-rw>=1.4.0 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (1.4.0)
Requirement already satisfied: networkx==2.3 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (2.3)
Requirement already satisfied: requests>=2.21.0 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (2.22.0)
Requirement already satisfied: aiohttp in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (3.5.4)
Requirement already satisfied: pandas in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (0.25.1)
Requirement already satisfied: jsonschema>=3.0.1 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (3.0.1)
Requirement already satisfied: biothings-schema@ git+https://github.com/biothings/biothings_schema.py from git+https://github.com/biothings/biothings_schema.py in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (0.0.1)
Requirement already satisfied: tornado==4.5.3 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (4.5.3)
Requirement already satisfied: notebook==5.7.5 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (5.7.5)
Requirement already satisfied: jupyter in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (1.0.0)
Requirement already satisfied: graphviz>=0.11.1 in ./ENV/lib/python3.7/site-packages (from biothings_explorer) (0.11.1)
Requirement already satisfied: six in ./ENV/lib/python3.7/site-packages (from jsonpath-rw>=1.4.0->biothings_explorer) (1.12.0)
Requirement already satisfied: ply in ./ENV/lib/python3.7/site-packages (from jsonpath-rw>=1.4.0->biothings_explorer) (3.11)
Requirement already satisfied: decorator in ./ENV/lib/python3.7/site-packages (from jsonpath-rw>=1.4.0->biothings_explorer) (4.4.0)
Requirement already satisfied: certifi>=2017.4.17 in ./ENV/lib/python3.7/site-packages (from requests>=2.21.0->biothings_explorer) (2019.3.9)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./ENV/lib/python3.7/site-packages (from requests>=2.21.0->biothings_explorer) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in ./ENV/lib/python3.7/site-packages (from requests>=2.21.0->biothings_explorer) (1.25.3)
Requirement already satisfied: idna<2.9,>=2.5 in ./ENV/lib/python3.7/site-packages (from requests>=2.21.0->biothings_explorer) (2.8)
Requirement already satisfied: multidict<5.0,>=4.0 in ./ENV/lib/python3.7/site-packages (from aiohttp->biothings_explorer) (4.5.2)
Requirement already satisfied: async-timeout<4.0,>=3.0 in ./ENV/lib/python3.7/site-packages (from aiohttp->biothings_explorer) (3.0.1)
Requirement already satisfied: attrs>=17.3.0 in ./ENV/lib/python3.7/site-packages (from aiohttp->biothings_explorer) (19.1.0)
Requirement already satisfied: yarl<2.0,>=1.0 in ./ENV/lib/python3.7/site-packages (from aiohttp->biothings_explorer) (1.3.0)
Requirement already satisfied: pytz>=2017.2 in ./ENV/lib/python3.7/site-packages (from pandas->biothings_explorer) (2019.2)
Requirement already satisfied: python-dateutil>=2.6.1 in ./ENV/lib/python3.7/site-packages (from pandas->biothings_explorer) (2.8.0)
Requirement already satisfied: numpy>=1.13.3 in ./ENV/lib/python3.7/site-packages (from pandas->biothings_explorer) (1.17.0)
Requirement already satisfied: setuptools in ./ENV/lib/python3.7/site-packages (from jsonschema>=3.0.1->biothings_explorer) (41.0.1)
Requirement already satisfied: pyrsistent>=0.14.0 in ./ENV/lib/python3.7/site-packages (from jsonschema>=3.0.1->biothings_explorer) (0.15.2)
Requirement already satisfied: PyYAML>=5.1 in ./ENV/lib/python3.7/site-packages (from biothings-schema@ git+https://github.com/biothings/biothings_schema.py->biothings_explorer) (5.1.1)
Requirement already satisfied: strict-rfc3339 in ./ENV/lib/python3.7/site-packages (from biothings-schema@ git+https://github.com/biothings/biothings_schema.py->biothings_explorer) (0.7)
Requirement already satisfied: jupyter-core>=4.4.0 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (4.4.0)
Requirement already satisfied: terminado>=0.8.1 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (0.8.2)
Requirement already satisfied: prometheus-client in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (0.7.0)
Requirement already satisfied: pyzmq>=17 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (18.0.1)
Requirement already satisfied: traitlets>=4.2.1 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (4.3.2)
Requirement already satisfied: ipython-genutils in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (0.2.0)
Requirement already satisfied: nbformat in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (4.4.0)
Requirement already satisfied: nbconvert in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (5.5.0)
Requirement already satisfied: Send2Trash in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (1.5.0)
Requirement already satisfied: ipykernel in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (5.1.1)
Requirement already satisfied: jinja2 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (2.10.1)
Requirement already satisfied: jupyter-client>=5.2.0 in ./ENV/lib/python3.7/site-packages (from notebook==5.7.5->biothings_explorer) (5.2.4)
Requirement already satisfied: qtconsole in ./ENV/lib/python3.7/site-packages (from jupyter->biothings_explorer) (4.5.1)
Requirement already satisfied: ipywidgets in ./ENV/lib/python3.7/site-packages (from jupyter->biothings_explorer) (7.4.2)
Requirement already satisfied: jupyter-console in ./ENV/lib/python3.7/site-packages (from jupyter->biothings_explorer) (6.0.0)
Requirement already satisfied: ptyprocess; os_name != "nt" in ./ENV/lib/python3.7/site-packages (from terminado>=0.8.1->notebook==5.7.5->biothings_explorer) (0.6.0)
Requirement already satisfied: testpath in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (0.4.2)
Requirement already satisfied: defusedxml in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (0.6.0)
Requirement already satisfied: mistune>=0.8.1 in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (0.8.4)
Requirement already satisfied: bleach in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (3.1.0)
Requirement already satisfied: pandocfilters>=1.4.1 in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (1.4.2)
Requirement already satisfied: entrypoints>=0.2.2 in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (0.3)
Requirement already satisfied: pygments in ./ENV/lib/python3.7/site-packages (from nbconvert->notebook==5.7.5->biothings_explorer) (2.4.2)
Requirement already satisfied: ipython>=5.0.0 in ./ENV/lib/python3.7/site-packages (from ipykernel->notebook==5.7.5->biothings_explorer) (7.5.0)
Requirement already satisfied: MarkupSafe>=0.23 in ./ENV/lib/python3.7/site-packages (from jinja2->notebook==5.7.5->biothings_explorer) (1.1.1)
Requirement already satisfied: widgetsnbextension~=3.4.0 in ./ENV/lib/python3.7/site-packages (from ipywidgets->jupyter->biothings_explorer) (3.4.2)
Requirement already satisfied: prompt-toolkit<2.1.0,>=2.0.0 in ./ENV/lib/python3.7/site-packages (from jupyter-console->jupyter->biothings_explorer) (2.0.9)
Requirement already satisfied: webencodings in ./ENV/lib/python3.7/site-packages (from bleach->nbconvert->notebook==5.7.5->biothings_explorer) (0.5.1)
Requirement already satisfied: pexpect; sys_platform != "win32" in ./ENV/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (4.7.0)
Requirement already satisfied: appnope; sys_platform == "darwin" in ./ENV/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (0.1.0)
Requirement already satisfied: pickleshare in ./ENV/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (0.7.5)
Requirement already satisfied: backcall in ./ENV/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (0.1.0)
Requirement already satisfied: jedi>=0.10 in ./ENV/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (0.13.3)
Requirement already satisfied: wcwidth in ./ENV/lib/python3.7/site-packages (from prompt-toolkit<2.1.0,>=2.0.0->jupyter-console->jupyter->biothings_explorer) (0.1.7)
Requirement already satisfied: parso>=0.3.0 in ./ENV/lib/python3.7/site-packages (from jedi>=0.10->ipython>=5.0.0->ipykernel->notebook==5.7.5->biothings_explorer) (0.4.0)
WARNING: You are using pip version 19.1.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Next, import the relevant modules:
In [1]:
# import modules from biothings_explorer
from biothings_explorer.hint import Hint
from biothings_explorer.user_query_dispatcher import FindConnection
In this step, BioThings Explorer translates our query string "hyperphenylalaninemia" into BioThings objects, which contain mappings to many common identifiers. Generally, the top result returned by the Hint module will be the correct item, but you should confirm that using the identifiers shown.
Search terms can correspond to any child of BiologicalEntity from the Biolink Model, including DiseaseOrPhenotypicFeature (e.g., "lupus"), ChemicalSubstance (e.g., "acetaminophen"), Gene (e.g., "CDK2"), BiologicalProcess (e.g., "T cell differentiation"), and Pathway (e.g., "Citric acid cycle").
In [2]:
ht = Hint()
# find all potential representations of hyperphenylalaninemia
hyperphenylalaninemia_hint = ht.query("hyperphenylalaninemia")
# select the correct representation of hyperphenylalaninemia
hyperphenylalaninemia = hyperphenylalaninemia_hint['Disease'][0]
hyperphenylalaninemia
Out[2]:
{'MONDO': 'MONDO:0016543',
'UMLS': 'C0751435',
'name': 'hyperphenylalaninemia',
'ORPHANET': '238583',
'primary': {'identifier': 'MONDO',
'cls': 'Disease',
'value': 'MONDO:0016543'},
'display': 'MONDO(MONDO:0016543) ORPHANET(238583) UMLS(C0751435) name(hyperphenylalaninemia)',
'type': 'Disease'}
In this section, we find all paths in the knowledge graph that connect hyperphenylalaninemia to any entity that is a chemical compound. To do that, we will use FindConnection. This class is a convenient wrapper around two advanced functions for query path planning and query path execution. More advanced features for both query path planning and query path execution are in development and will be documented in the coming months.
The parameters for FindConnection are described below:
In [4]:
help(FindConnection.__init__)
Help on function __init__ in module biothings_explorer.user_query_dispatcher:
__init__(self, input_obj, output_obj, intermediate_nodes, registry=None)
Find relationships in the Knowledge Graph between an Input Object and an Output Object.
Args:
input_obj (required): must be an object returned from Hint corresponding to a specific biomedical entity.
Examples:
Hint().query("Fanconi anemia")['DiseaseOrPhenotypicFeature'][0]
Hint().query("acetaminophen")['ChemicalSubstance'][0]
output_obj (required): must EITHER be an object returned from Hint corresponding to a specific biomedical
entity, OR be a string or list of strings corresponding to Biolink Entity classes.
Examples:
Hint().query("acetaminophen")['ChemicalSubstance'][0]
'Gene'
['Gene','ChemicalSubstance']
intermediate_nodes (required): the semantic type(s) of the intermediate node(s). Examples:
None : no intermediate node, find direct connections only
[] : no intermediate node, find direct connections only
['BiologicalEntity'] : one intermediate node of any semantic type
['Gene'] : one intermediate node that must be a Gene
[('Gene','Pathway')] : one intermediate node that must be a Gene or a Pathway
['Gene','Pathway'] : two intermediate nodes, first must be a Gene, second must be a Pathway.
['Gene',('Pathway','Gene')] : two intermediate nodes, first must be a Gene, second must be a Pathway or Gene.
**NOTE**: queries with more than one intermediate node are currently not supported
Here, we formulate a FindConnection query with "hyperphenylalaninemia" as the input_ojb, "ChemicalSubstance" as the output_obj (which corresponds to a Biolink Entity type). We further specify with the intermediate_nodes parameter that we are looking for paths joining hyperphenylalaninemia and chemical compounds with one intermediate node that is a Gene. (The ability to search for longer reasoning paths that include additional intermediate nodes will be added shortly.)
In [3]:
fc = FindConnection(input_obj=hyperphenylalaninemia, output_obj='ChemicalSubstance', intermediate_nodes=['Gene'])
We next execute the connect method, which performs the query path planning and query path execution process. In short, BioThings Explorer is deconstructing the query into individual API calls, executing those API calls, then assembling the results.
A verbose log of this process is displayed below:
In [4]:
# set verbose=True will display all steps which BTE takes to find the connection
fc.connect(verbose=True)
==========
========== QUERY PARAMETER SUMMARY ==========
==========
BTE will find paths that join 'hyperphenylalaninemia' and 'ChemicalSubstance'. Paths will have 1 intermediate node.
Intermediate node #1 will have these type constraints: Gene
========== QUERY #1 -- fetch all Gene entities linked to hyperphenylalaninemia ==========
==========
==== Step #1: Query path planning ====
Because hyperphenylalaninemia is of type 'Disease', BTE will query our meta-KG for APIs that can take 'Disease' as input and 'Gene' as output
BTE found 7 apis:
API 1. hetio(1 API call)
API 2. scigraph(1 API call)
API 3. semmed_disease(15 API calls)
API 4. pharos(1 API call)
API 5. scibite(1 API call)
API 6. biolink(1 API call)
API 7. mydisease(1 API call)
==== Step #2: Query path execution ====
NOTE: API requests are dispatched in parallel, so the list of APIs below is ordered by query time.
API 7.1: http://mydisease.info/v1/query?fields=disgenet.genes_related_to_disease.gene_id (POST -d q=C0751435,C0751436&scopes=mondo.xrefs.umls, disgenet.xrefs.umls)
API 3.1: https://biothings.ncats.io/semmed/query?fields=affects (POST -d q=C0751435,C0751436&scopes=umls)
API 3.14: https://biothings.ncats.io/semmed/query?fields=caused_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.13: https://biothings.ncats.io/semmed/query?fields=disrupts (POST -d q=C0751435,C0751436&scopes=umls)
API 3.9: https://biothings.ncats.io/semmed/query?fields=disrupted_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.15: https://biothings.ncats.io/semmed/query?fields=negatively_regulated_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.2: https://biothings.ncats.io/semmed/query?fields=coexists_with (POST -d q=C0751435,C0751436&scopes=umls)
API 3.8: https://biothings.ncats.io/semmed/query?fields=derives_from (POST -d q=C0751435,C0751436&scopes=umls)
API 3.6: https://biothings.ncats.io/semmed/query?fields=treated_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.10: https://biothings.ncats.io/semmed/query?fields=affected_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.11: https://biothings.ncats.io/semmed/query?fields=negatively_regulates (POST -d q=C0751435,C0751436&scopes=umls)
API 3.5: https://biothings.ncats.io/semmed/query?fields=physically_interacts_with (POST -d q=C0751435,C0751436&scopes=umls)
API 3.7: https://biothings.ncats.io/semmed/query?fields=positively_regulated_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.4: https://biothings.ncats.io/semmed/query?fields=positively_regulates (POST -d q=C0751435,C0751436&scopes=umls)
API 3.3: https://biothings.ncats.io/semmed/query?fields=prevented_by (POST -d q=C0751435,C0751436&scopes=umls)
API 3.12: https://biothings.ncats.io/semmed/query?fields=related_to (POST -d q=C0751435,C0751436&scopes=umls)
API 6.1: https://api.monarchinitiative.org/api/bioentity/disease/MONDO:0016543/genes?rows=200
API 5.1: https://automat.renci.org/cord19_scibite_v2/disease/gene/MONDO:0016543
API 2.1: https://automat.renci.org/cord19_scigraph_v2/disease/gene/MONDO:0016543
API 4.1: https://automat.renci.org/pharos/disease/gene/MONDO:0016543
API 1.1: https://automat.renci.org/hetio/disease/gene/MONDO:0016543
==== Step #3: Output normalization ====
API 3.1 semmed_disease: No hits
API 3.2 semmed_disease: No hits
API 3.3 semmed_disease: No hits
API 3.4 semmed_disease: No hits
API 3.5 semmed_disease: No hits
API 3.6 semmed_disease: 6 hits
API 3.7 semmed_disease: No hits
API 4.1 pharos: 1 hits
API 3.8 semmed_disease: No hits
API 2.1 scigraph: No hits
API 3.9 semmed_disease: 3 hits
API 7.1 mydisease: 10 hits
API 3.10 semmed_disease: No hits
API 5.1 scibite: 1 hits
API 1.1 hetio: No hits
API 3.11 semmed_disease: No hits
API 3.12 semmed_disease: 14 hits
API 3.13 semmed_disease: No hits
API 3.14 semmed_disease: 17 hits
API 6.1 biolink: 4 hits
API 3.15 semmed_disease: No hits
After id-to-object translation, BTE retrieved 33 unique objects.
========== QUERY #2.1 -- fetch all ChemicalSubstance entities linked to Gene entites ==========
==========
==== Step #1: Query path planning ====
Because None is of type 'Gene', BTE will query our meta-KG for APIs that can take 'Gene' as input and 'ChemicalSubstance' as output
BTE found 10 apis:
API 1. semmed_gene(10 API calls)
API 2. scigraph(16 API calls)
API 3. hmdb(16 API calls)
API 4. mychem(3 API calls)
API 5. dgidb(16 API calls)
API 6. pharos(16 API calls)
API 7. scibite(16 API calls)
API 8. opentarget(16 API calls)
API 9. chembio(16 API calls)
API 10. cord_gene(1 API call)
==== Step #2: Query path execution ====
NOTE: API requests are dispatched in parallel, so the list of APIs below is ordered by query time.
API 7.15: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000145730&datasource=chembl&size=100&fields=drug
API 7.8: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000171759&datasource=chembl&size=100&fields=drug
API 7.7: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000166228&datasource=chembl&size=100&fields=drug
API 7.5: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000137880&datasource=chembl&size=100&fields=drug
API 7.1: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000151552&datasource=chembl&size=100&fields=drug
API 7.13: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000148602&datasource=chembl&size=100&fields=drug
API 7.6: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000198074&datasource=chembl&size=100&fields=drug
API 7.11: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000141837&datasource=chembl&size=100&fields=drug
API 7.3: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000131979&datasource=chembl&size=100&fields=drug
API 7.12: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000150787&datasource=chembl&size=100&fields=drug
API 7.10: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000170606&datasource=chembl&size=100&fields=drug
API 7.16: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000135775&datasource=chembl&size=100&fields=drug
API 7.4: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000142192&datasource=chembl&size=100&fields=drug
API 5.13: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=AKR1B10
API 5.7: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=CACNA1A
API 5.14: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=PAH
API 5.8: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=PTS
API 5.9: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=PAM
API 5.11: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=HSPA4
API 5.2: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=GCHFR
API 5.3: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=GCH1
API 5.5: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=QDPR
API 5.6: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=LRIT1
API 5.16: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=COG2
API 5.1: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=PCBD1
API 5.12: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=APP
API 6.16: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:338
API 8.1: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:57016
API 2.7: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:3308
API 4.8: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:2644
API 4.7: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:3308
API 6.1: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:57016
API 6.13: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:2643
API 6.10: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:351
API 4.2: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:5860
API 6.6: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:5805
API 6.3: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:773
API 6.15: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:5066
API 2.5: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:5092
API 2.14: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:26103
API 2.2: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:5860
API 4.1: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:57016
API 2.11: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:3034
API 4.5: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:5092
API 5.15: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=SHCBP1
API 6.4: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:22796
API 2.8: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:2644
API 2.12: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:5053
API 5.4: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=HAL
API 3.2: https://mychem.info/v1/query?fields=drugbank.id&size=250 (POST -d q=PCBD1,GCHFR,GCH1,HAL,QDPR,LRIT1,CACNA1A,PTS,PAM,APOB,HSPA4,APP,AKR1B10,PAH,SHCBP1,COG2&scopes=drugbank.enzymes.gene_name)
API 3.1: https://mychem.info/v1/query?fields=drugbank.id&size=250 (POST -d q=PCBD1,GCHFR,GCH1,HAL,QDPR,LRIT1,CACNA1A,PTS,PAM,APOB,HSPA4,APP,AKR1B10,PAH,SHCBP1,COG2&scopes=drugbank.targets.gene_name)
API 6.9: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:79801
API 6.7: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:3308
API 5.10: http://dgidb.genome.wustl.edu/api/v2/interactions.json?genes=APOB
API 7.2: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000084674&datasource=chembl&size=100&fields=drug
API 2.9: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:79801
API 6.2: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:5860
API 6.5: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:5092
API 6.14: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:26103
API 6.8: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:2644
API 2.16: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:338
API 6.11: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:3034
API 7.9: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000171241&datasource=chembl&size=100&fields=drug
API 4.6: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:5805
API 6.12: https://automat.renci.org/cord19_scibite_v2/gene/chemical_substance/NCBIGene:5053
API 4.12: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:5053
API 2.4: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:22796
API 7.14: https://platform-api.opentargets.io/v3/platform/public/evidence/filter?target=ENSG00000084110&datasource=chembl&size=100&fields=drug
API 3.3: https://mychem.info/v1/query?fields=chembl.molecule_chembl_id&size=250 (POST -d q=PCBD1,GCHFR,GCH1,HAL,QDPR,LRIT1,CACNA1A,PTS,PAM,APOB,HSPA4,APP,AKR1B10,PAH,SHCBP1,COG2&scopes=drugcentral.bioactivity.uniprot.gene_symbol)
API 2.1: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:57016
API 2.13: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:2643
API 4.9: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:79801
API 8.2: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:5860
API 4.3: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:773
API 9.6: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:5805
API 8.7: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:3308
API 4.13: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:2643
API 4.4: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:22796
API 2.15: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:5066
API 2.3: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:773
API 4.14: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:26103
API 4.11: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:3034
API 2.10: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:351
API 4.15: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:5066
API 8.3: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:773
API 8.9: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:79801
API 4.16: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:338
API 8.8: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:2644
API 8.4: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:22796
API 8.15: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:5066
API 8.5: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:5092
API 8.6: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:5805
API 8.10: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:351
API 2.6: https://automat.renci.org/cord19_scigraph_v2/gene/chemical_substance/NCBIGene:5805
API 8.11: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:3034
API 8.14: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:26103
API 8.13: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:2643
API 4.10: https://automat.renci.org/pharos/gene/chemical_substance/NCBIGene:351
API 9.4: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:22796
API 8.12: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:5053
API 8.16: https://automat.renci.org/chembio/gene/chemical_substance/NCBIGene:338
API 9.1: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:57016
API 10.1: https://biothings.ncats.io/cord_gene/query?fields=associated_with (POST -d q=4193,6546,5237,9689,1388,603,4194,382,4806,29547,8646,8596,9752,23404,620,8582&scopes=hgnc)
API 9.7: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:3308
API 9.8: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:2644
API 9.9: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:79801
API 9.3: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:773
API 9.5: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:5092
API 9.2: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:5860
API 9.12: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:5053
API 9.10: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:351
API 9.11: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:3034
API 9.14: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:26103
API 9.15: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:5066
API 9.13: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:2643
API 9.16: https://automat.renci.org/hmdb/gene/chemical_substance/NCBIGene:338
API 1.1: https://biothings.ncats.io/semmedgene/query?fields=negatively_regulates (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.6: https://biothings.ncats.io/semmedgene/query?fields=positively_regulated_by (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.4: https://biothings.ncats.io/semmedgene/query?fields=affected_by (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.9: https://biothings.ncats.io/semmedgene/query?fields=disrupted_by (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.8: https://biothings.ncats.io/semmedgene/query?fields=disrupts (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.7: https://biothings.ncats.io/semmedgene/query?fields=negatively_regulated_by (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.10: https://biothings.ncats.io/semmedgene/query?fields=positively_regulates (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.5: https://biothings.ncats.io/semmedgene/query?fields=related_to (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.3: https://biothings.ncats.io/semmedgene/query?fields=affects (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
API 1.2: https://biothings.ncats.io/semmedgene/query?fields=physically_interacts_with (POST -d q=C0017361,C0018293,C1412323,C0072774,C1364818,C1415465,C1335144,C1539766,C0314604,C1416822,C0031456,C0012312,C1710338,C1428072,C0074350,C0002085,C0014442,C1418251,C1418296,C1456413,C0041491,C0284927,C1419129,C1705543,C1415012,C1419182,C1412471,C1415760,C1415013,C0020239,C0030016,C1456357,C0017337&scopes=umls)
==== Step #3: Output normalization ====
API 7.1 opentarget: No hits
API 7.2 opentarget: 7 hits
API 7.3 opentarget: No hits
API 7.4 opentarget: 59 hits
API 7.5 opentarget: No hits
API 7.6 opentarget: No hits
API 7.7 opentarget: No hits
API 7.8 opentarget: 42 hits
API 7.9 opentarget: No hits
API 7.10 opentarget: No hits
API 7.11 opentarget: 19 hits
API 7.12 opentarget: No hits
API 7.13 opentarget: No hits
API 7.14 opentarget: No hits
API 7.15 opentarget: No hits
API 7.16 opentarget: No hits
API 6.1 scibite: 1 hits
API 6.2 scibite: No hits
API 6.3 scibite: No hits
API 6.4 scibite: No hits
API 6.5 scibite: No hits
API 6.6 scibite: No hits
API 6.7 scibite: 1 hits
API 6.8 scibite: 1 hits
API 6.9 scibite: No hits
API 6.10 scibite: 9 hits
API 6.11 scibite: No hits
API 6.12 scibite: 1 hits
API 6.13 scibite: 1 hits
API 6.14 scibite: No hits
API 6.15 scibite: No hits
API 6.16 scibite: 3 hits
API 1.1 semmed_gene: 2007 hits
API 1.2 semmed_gene: 15441 hits
API 1.3 semmed_gene: 1 hits
API 1.4 semmed_gene: 9 hits
API 2.1 scigraph: No hits
API 2.2 scigraph: No hits
API 2.3 scigraph: No hits
API 2.4 scigraph: No hits
API 2.5 scigraph: No hits
API 2.6 scigraph: 442 hits
API 2.7 scigraph: No hits
API 2.8 scigraph: No hits
API 2.9 scigraph: No hits
API 2.10 scigraph: 56 hits
API 2.11 scigraph: 1 hits
API 2.12 scigraph: 52 hits
API 2.13 scigraph: No hits
API 2.14 scigraph: No hits
API 2.15 scigraph: 19 hits
API 2.16 scigraph: 16 hits
API 1.5 semmed_gene: No hits
API 5.1 dgidb: 1 hits
API 5.2 dgidb: No hits
API 5.3 dgidb: 1 hits
API 5.4 dgidb: 1 hits
API 5.5 dgidb: 1 hits
API 5.6 dgidb: No hits
API 5.7 dgidb: 11 hits
API 5.8 dgidb: No hits
API 5.9 dgidb: 1 hits
API 5.10 dgidb: 17 hits
API 5.11 dgidb: 35 hits
API 5.12 dgidb: 22 hits
API 5.13 dgidb: 3 hits
API 5.14 dgidb: 8 hits
API 5.15 dgidb: No hits
API 5.16 dgidb: No hits
API 1.6 semmed_gene: 4883 hits
API 3.1 mychem: 51 hits
API 10.1 cord_gene: 723 hits
API 1.7 semmed_gene: 6577 hits
API 4.1 pharos: 44 hits
API 4.2 pharos: 3 hits
API 4.3 pharos: 1 hits
API 4.4 pharos: No hits
API 4.5 pharos: No hits
API 4.6 pharos: No hits
API 4.7 pharos: No hits
API 4.8 pharos: No hits
API 4.9 pharos: No hits
API 4.10 pharos: 358 hits
API 4.11 pharos: No hits
API 4.12 pharos: 2 hits
API 4.13 pharos: No hits
API 4.14 pharos: No hits
API 4.15 pharos: 5 hits
API 4.16 pharos: 49 hits
API 1.8 semmed_gene: 2 hits
API 8.1 chembio: 5 hits
API 8.2 chembio: 1 hits
API 8.3 chembio: 1 hits
API 8.4 chembio: No hits
API 8.5 chembio: 2 hits
API 8.6 chembio: 2 hits
API 8.7 chembio: 6 hits
API 8.8 chembio: 4 hits
API 8.9 chembio: 1 hits
API 8.10 chembio: 29 hits
API 8.11 chembio: 3 hits
API 8.12 chembio: 1 hits
API 8.13 chembio: 4 hits
API 8.14 chembio: No hits
API 8.15 chembio: 7 hits
API 8.16 chembio: 6 hits
API 3.2 mychem: 4 hits
API 1.9 semmed_gene: No hits
API 9.1 hmdb: 18 hits
API 9.2 hmdb: 11 hits
API 9.3 hmdb: 4 hits
API 9.4 hmdb: No hits
API 9.5 hmdb: 5 hits
API 9.6 hmdb: 6 hits
API 9.7 hmdb: No hits
API 9.8 hmdb: 2 hits
API 9.9 hmdb: No hits
API 9.10 hmdb: 5 hits
API 9.11 hmdb: 3 hits
API 9.12 hmdb: 11 hits
API 9.13 hmdb: 8 hits
API 9.14 hmdb: No hits
API 9.15 hmdb: 5 hits
API 9.16 hmdb: 4 hits
API 3.3 mychem: 15 hits
API 1.10 semmed_gene: 2314 hits
After id-to-object translation, BTE retrieved 9449 unique objects.
==========
========== Final assembly of results ==========
==========
In the #1 query, BTE found 33 unique Gene nodes
In the #2 query, BTE found 9449 unique ChemicalSubstance nodes
This section demonstrates post-query filtering done in Python. Later, more advanced filtering functions will be added to the query path execution module for interleaved filtering, thereby enabling longer query paths. More details to come...
First, all matching paths can be exported to a data frame. Let's examine a sample of those results.
In [5]:
df = fc.display_table_view()
# because UMLS is not currently well-integrated in our ID-to-object translation system, removing UMLS-only outputs here
patternDel = "^UMLS:C\d+"
filter = df.output_id.str.contains(patternDel)
df = df[~filter]
patternDel2 = "^InChI="
filter2 = df.output_name.str.contains(patternDel2)
df = df[~filter2]
patternDel3 = "^umls:C\d+"
filter3 = df.node1_id.str.contains(patternDel3)
df = df[~filter3]
print(df.shape)
df.sample(10)
(4541, 16)
Out[5]:
input
input_type
pred1
pred1_source
pred1_api
pred1_pubmed
node1_type
node1_name
node1_id
pred2
pred2_source
pred2_api
pred2_pubmed
output_type
output_name
output_id
16504
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
10727395
Gene
C0014442
UMLS:C0014442
negatively_regulated_by
SEMMED
SEMMED Gene API
11839529,19443747
ChemicalSubstance
U 0126
name:U 0126
8209
HYPERPHENYLALANINAEMIA
Disease
related_to
SEMMED
SEMMED Disease API
9675155
Gene
C0017337
UMLS:C0017337
positively_regulated_by
SEMMED
SEMMED Gene API
21984199,26086415
ChemicalSubstance
ISOFLURANE
name:ISOFLURANE
31798
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
9222755,9667588
Gene
C0017337
UMLS:C0017337
positively_regulated_by
SEMMED
SEMMED Gene API
17684401,18412988,17693008
ChemicalSubstance
MICRONUTRIENT
name:MICRONUTRIENT
1929
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
10874306
Gene
PTS
NCBIGene:5805
related_to
Translator Text Mining Provider
CORD Gene API
None
ChemicalSubstance
.BETA.-D-GLUCOPYRANOSE
name:.BETA.-D-GLUCOPYRANOSE
10532
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
699146
Gene
C0030016
UMLS:C0030016
positively_regulated_by
SEMMED
SEMMED Gene API
11731036
ChemicalSubstance
GENISTEIN
name:GENISTEIN
35512
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
10727395
Gene
C0014442
UMLS:C0014442
positively_regulates
SEMMED
SEMMED Gene API
4291334,7358701,11980911
ChemicalSubstance
DEOXYCHOLATE
name:DEOXYCHOLATE
40287
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
8841415
Gene
PTS
NCBIGene:5805
related_to
scigraph
Automat CORD19 Scigraph API
None
ChemicalSubstance
CHLORAMBUCIL
name:CHLORAMBUCIL
40027
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
15133828
Gene
AKR1B10
NCBIGene:57016
negatively_regulates
SEMMED
SEMMED Gene API
28322780
ChemicalSubstance
TIAPROFENIC ACID
name:TIAPROFENIC ACID
22054
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
28794131
Gene
HSPA4
NCBIGene:3308
positively_regulated_by
SEMMED
SEMMED Gene API
26307981
ChemicalSubstance
MALONALDEHYDE
name:MALONALDEHYDE
45089
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
1301201,8892014,10495930,10495930
Gene
PAH
NCBIGene:5053
related_to
Translator Text Mining Provider
CORD Gene API
None
ChemicalSubstance
CHEBI:46756
CHEBI:CHEBI:46756
While most results are based on edges from semmed, edges from DGIdb, biolink, disgenet, and mychem.info were also retrieved from their respective APIs.
Next, let's examine which chemical compounds were most frequently mentioned.
In [6]:
df.output_name.value_counts().head(20)
Out[6]:
PHARMACEUTICAL PREPARATIONS 122
HYDROGEN PEROXIDE 119
.BETA.-D-GLUCOPYRANOSE 116
NADH 105
NITRIC OXIDE 101
BINDING SITE 97
3-METHYLADENINE DNA 94
CHOLESTEROL 94
OXYGEN SPECIES, REACTIVE 92
ALCOHOL 91
Name: output_name, dtype: int64
Hyperphenylalaninemia is a condition characterized by elevated levels of phenylalanine in the blood. This phenotype is strongly associated with phenylketonuria (PKU), an inherited, genetic disorder that affects the ability to metabolize phenylalanine. Sapropterin is a naturally-occurring cofactor associated with several enzymatic processes, including the metabolism of phenylalanine to tyrosine. It has been FDA-approved as a treatment for PKU patients. Tyrosine is also a precursor to several neurotransmitters, including norepinephrine and dopamine.
While several of the listed compounds would be considered positive controls, others on the list could be viewed as testable hypotheses and discovery opportunities to be evaluated by domain experts. For example, let's examine which genes link hyperphenylalaninemia to nitric oxide.
In [7]:
df[df.output_name=="NITRIC OXIDE"]
Out[7]:
input
input_type
pred1
pred1_source
pred1_api
pred1_pubmed
node1_type
node1_name
node1_id
pred2
pred2_source
pred2_api
pred2_pubmed
output_type
output_name
output_id
2318
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
25261586,25261586
Gene
C1710338
UMLS:C1710338
negatively_regulates
SEMMED
SEMMED Gene API
23769841
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2319
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
25261586,25261586
Gene
C1710338
UMLS:C1710338
negatively_regulates
SEMMED
SEMMED Gene API
15265010
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2320
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
25261586,25261586
Gene
C1710338
UMLS:C1710338
physically_interacts_with
SEMMED
SEMMED Gene API
25049660,23072349
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2321
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
25261586,25261586
Gene
C1710338
UMLS:C1710338
physically_interacts_with
SEMMED
SEMMED Gene API
23806552,16831427
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2322
HYPERPHENYLALANINAEMIA
Disease
treated_by
SEMMED
SEMMED Disease API
25261586,25261586
Gene
C1710338
UMLS:C1710338
positively_regulated_by
SEMMED
SEMMED Gene API
10952392
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
2422
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
28794131
Gene
HSPA4
NCBIGene:3308
positively_regulated_by
SEMMED
SEMMED Gene API
7544743,9085348,9085348,9276725,10805410,10805...
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2423
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
28794131
Gene
HSPA4
NCBIGene:3308
positively_regulates
SEMMED
SEMMED Gene API
11374865
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2424
HYPERPHENYLALANINAEMIA
Disease
caused_by
SEMMED
SEMMED Disease API
7766952
Gene
CACNA1A
NCBIGene:773
negatively_regulates
SEMMED
SEMMED Gene API
23949212
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2425
HYPERPHENYLALANINAEMIA
Disease
related_to
scibite
Automat CORD19 Scibite API
None
Gene
GCHFR
NCBIGene:2644
physically_interacts_with
SEMMED
SEMMED Gene API
18372436,18372436,18372436
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
2426
HYPERPHENYLALANINAEMIA
Disease
related_to
scibite
Automat CORD19 Scibite API
None
Gene
GCHFR
NCBIGene:2644
physically_interacts_with
SEMMED
SEMMED Gene API
21693765
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39812
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
caused_by
SEMMED API
semmeddisease
28794131
Gene
HSPA4
entrez:3308
positively_regulated_by
SEMMED API
semmedgene
7544743,9085348,9085348,9276725,10805410,10805...
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39813
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
caused_by
SEMMED API
semmeddisease
28794131
Gene
HSPA4
entrez:3308
positively_regulates
SEMMED API
semmedgene
11374865
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39814
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
caused_by
SEMMED API
semmeddisease
28794131
Gene
HSPA4
entrez:3308
produces
SEMMED API
semmedgene
10849439,16521562,24395610
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39815
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
caused_by
SEMMED API
semmeddisease
7766952
Gene
CACNA1A
entrez:773
negatively_regulates
SEMMED API
semmedgene
23949212
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39816
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
disrupted_by
SEMMED API
semmeddisease
10051643
Gene
PAM
entrez:5066
associated_with
CORD API
cordgene
None
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39817
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
27612877
Gene
COG2
entrez:22796
physically_interacts_with
SEMMED API
semmedgene
16060915
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39818
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
27612877
Gene
COG2
entrez:22796
positively_regulated_by
SEMMED API
semmedgene
25224628
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39819
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
27612877
Gene
COG2
entrez:22796
positively_regulates
SEMMED API
semmedgene
27919363
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39820
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
27612877
Gene
COG2
entrez:22796
produces
SEMMED API
semmedgene
26847282
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39821
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
27612877
Gene
APOB
entrez:338
coexists_with
SEMMED API
semmedgene
9593815
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39822
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
coexists_with
SEMMED API
semmedgene
20021361,22810094
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39823
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
coexists_with
SEMMED API
semmedgene
20936504
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39824
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
has_part
SEMMED API
semmedgene
15371443
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39825
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
negatively_regulates
SEMMED API
semmedgene
20936504,21073661,22426388,26819495
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39826
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
physically_interacts_with
SEMMED API
semmedgene
19779140,22384120,26665235
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39827
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
positively_regulates
SEMMED API
semmedgene
23915297,23915297
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39828
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
positively_regulates
SEMMED API
semmedgene
9915130,9915130,9576964,10648444,17365664,1917...
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
39829
hyperphenylalaninemia
DiseaseOrPhenotypicFeature
related_to
SEMMED API
semmeddisease
25260610
Gene
APP
entrez:351
produces
SEMMED API
semmedgene
11027218,9915130,11241130,12944390,21718498
ChemicalSubstance
NITRIC OXIDE
chembl:CHEMBL1200689
101 rows × 16 columns
This notebook demonstrated the use of BioThings Explorer in PREDICDT mode to identify chemical compounds related to hyperphenylalaninemia. BioThings Explorer autonomously queried a distributed knowledge graph of biomedical APIs to find the most common compounds, and several of the top hits had a clear biochemical and clinical relevance to hyperphenylalaninemia.
There are still many areas for improvement (and some areas in which BioThings Explorer is still buggy). And of course, BioThings Explorer is dependent on the accessibility of the APIs that comprise the distributed knowledge graph. Nevertheless, we encourage users to try other variants of the PREDICT queries demonstrated in this notebook.
Content source: biothings/biothings_explorer
Similar notebooks: