diff --git a/.gitignore b/.gitignore index 34f016211..7427d5fd9 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ code/ARAX/ARAXQuery/Infer/data/xCRG_data/*.pt code/ARAX/ARAXQuery/Infer/data/xCRG_data/*.npz code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.json +code/UI/OpenAPI/specifications/export/KG2/*/openapi.json diff --git a/DockerBuild/Merged-Dockerfile b/DockerBuild/CICD-Dockerfile similarity index 80% rename from DockerBuild/Merged-Dockerfile rename to DockerBuild/CICD-Dockerfile index 02926b6d2..907ee82a9 100644 --- a/DockerBuild/Merged-Dockerfile +++ b/DockerBuild/CICD-Dockerfile @@ -66,23 +66,3 @@ RUN update-rc.d RTX_Complete defaults # setup config.domain RUN su rt && cd /mnt/data/orangeboard/production/RTX/code/ && echo "Github actions ARAX test suite" > config.domain - -# Setup KG2 - -# clone RTX repo into KG2 -RUN mkdir -p /mnt/data/orangeboard/kg2 -RUN chown -R rt.rt /mnt/data/orangeboard/kg2 -RUN su rt && cd /mnt/data/orangeboard/kg2 && git clone https://github.com/RTXteam/RTX.git -RUN chown -R rt.rt /mnt/data/orangeboard/kg2/RTX -COPY kg2-config.js /mnt/data/orangeboard/kg2/RTX/code/UI/interactive/config.js - -# setup KG2 services -RUN export DEVAREA=kg2 -RUN cat /mnt/data/orangeboard/kg2/RTX/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2 > /etc/init.d/RTX_OpenAPI_kg2 -RUN chmod 700 /etc/init.d/RTX_OpenAPI_kg2 -RUN update-rc.d RTX_OpenAPI_kg2 defaults -RUN ln -s /mnt/data/orangeboard/kg2/RTX/code/UI/interactive /var/www/html/kg2 - -# setup config.domain -RUN su rt && cd /mnt/data/orangeboard/kg2/RTX/code/ && echo "Github actions ARAX test suite" > config.domain - diff --git a/DockerBuild/Dockerfile b/DockerBuild/Dockerfile index e38facf94..fa9a48aba 100644 --- a/DockerBuild/Dockerfile +++ b/DockerBuild/Dockerfile @@ -70,4 +70,4 @@ RUN cd /mnt/data/orangeboard/production/RTX/code/autocomplete && sed -i 's/devED RUN update-rc.d RTX_Complete defaults # setup config.domain -RUN su rt && cd /mnt/data/orangeboard/production/RTX/code/ && echo "arax.ci.transltr.io" > config.domain +RUN su rt && cd /mnt/data/orangeboard/production/RTX/code/ && echo "arax.ci.transltr.io" > config.domain \ No newline at end of file diff --git a/DockerBuild/KG2-Dockerfile b/DockerBuild/KG2-Dockerfile deleted file mode 100644 index 2e23b4d04..000000000 --- a/DockerBuild/KG2-Dockerfile +++ /dev/null @@ -1,74 +0,0 @@ -FROM ubuntu:20.04 - -# suppress debconf error messages: -ARG DEBIAN_FRONTEND=noninteractive - -# build based on branch -ARG BUILD_BRANCH=master - -# add user "rt" and give sudo privilege: -RUN useradd rt -m -s /bin/bash - -# install git and sudo -RUN apt-get update -RUN apt-get update # running this twice seems to work around a weird 404 error -RUN apt-get install -y apt-utils -RUN apt-get install -y git sudo curl rsync - -# give sudo privilege to user rt: -RUN usermod -aG sudo rt -RUN echo "rt ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rt -RUN touch /home/rt/.sudo_as_admin_successful -RUN chown rt.rt /home/rt/.sudo_as_admin_successful - -# configure ssh for user rt -RUN mkdir /home/rt/.ssh -RUN echo "StrictHostKeyChecking no" > /home/rt/.ssh/config -RUN echo "UserKnownHostsFile /dev/null" >> /home/rt/.ssh/config -RUN chown -R rt.rt /home/rt/.ssh -RUN chmod -R 700 /home/rt/.ssh - -# clone RTX repo -RUN mkdir -p /mnt/data/orangeboard/kg2 -RUN chown -R rt.rt /mnt/data/orangeboard/kg2 -RUN su rt && cd /mnt/data/orangeboard/kg2 && git clone https://github.com/RTXteam/RTX.git -# 08/12/2022 NCATS change -RUN su rt && cd /mnt/data/orangeboard/kg2/RTX && git checkout ${BUILD_BRANCH} -RUN chown -R rt.rt /mnt/data/orangeboard/kg2/RTX -RUN su rt && mv /mnt/data/orangeboard/kg2/RTX/code/UI/interactive/config.js.example /mnt/data/orangeboard/kg2/RTX/code/UI/interactive/config.js - -# install apache2 and copy config file -RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -yq apache2 -COPY 000-default.conf /etc/apache2/sites-available/000-default.conf -RUN cd /var/www && mv html html-orig && ln -s /mnt/data/orangeboard/kg2/RTX/code/UI/interactive html -RUN cd /var/www && a2enmod proxy && a2enmod proxy_html && a2enmod proxy_http && a2enmod rewrite && a2enmod headers -RUN a2enmod remoteip -COPY remoteip.conf /etc/apache2/conf-available/remoteip.conf -RUN a2enconf remoteip -RUN cd /var/www && /usr/sbin/apachectl configtest - -# install python and packages -RUN apt-get update -RUN apt-get install -y python3 python3-pip -RUN apt-get install -y software-properties-common -RUN add-apt-repository -y ppa:deadsnakes/ppa -RUN apt-get update && apt-get install -y python3.9 python3.9-dev python3.9-venv -RUN rm /usr/bin/python3 && ln -s /usr/bin/python3.9 /usr/bin/python3 -RUN su rt && cd /mnt/data/orangeboard/kg2/RTX && python3.9 -m pip install click==8.1.3 && python3.9 -m pip install -r requirements.txt && python3.9 -m pip install connexion[swagger-ui] - - -# setup services -RUN export DEVAREA=kg2 -RUN cat /mnt/data/orangeboard/kg2/RTX/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2 > /etc/init.d/RTX_OpenAPI_kg2 -RUN chmod 700 /etc/init.d/RTX_OpenAPI_kg2 -RUN update-rc.d RTX_OpenAPI_kg2 defaults - -# autocomplete -RUN cat /mnt/data/orangeboard/kg2/RTX/code/autocomplete/RTX_Complete | sed 's/devED/kg2/g' > /etc/init.d/RTX_Complete -RUN chmod 700 /etc/init.d/RTX_Complete -RUN cd /mnt/data/orangeboard/kg2/RTX/code/autocomplete && sed -i 's/devED/kg2/g' RTX_Complete.start -RUN update-rc.d RTX_Complete defaults - -# setup config.domain -RUN su rt && cd /mnt/data/orangeboard/kg2/RTX/code/ && echo "kg2.ci.transltr.io" > config.domain - diff --git a/DockerBuild/kg2-config.js b/DockerBuild/kg2-config.js deleted file mode 100644 index 2e413f68d..000000000 --- a/DockerBuild/kg2-config.js +++ /dev/null @@ -1,6 +0,0 @@ -// API config -// this is an optional file that specifies alternate API settings -// if not present, then default settings in rtx.js will be used -let config = {}; -config.base = ''; -config.baseAPI = config.base + "api/rtxkg2/v1.4"; diff --git a/ISSUE_TEMPLATES/kg2rollout.md b/ISSUE_TEMPLATES/kg2rollout.md index bf284a44c..6a9b3d0f0 100644 --- a/ISSUE_TEMPLATES/kg2rollout.md +++ b/ISSUE_TEMPLATES/kg2rollout.md @@ -27,8 +27,8 @@ You will need: ##### Slack workspaces You will also need access to the following Slack workspaces: -- [ ] ARAXTeam (subscribe to #deployment) -- [ ] NCATSTranslator (subscribe to `#devops-teamexpanderagent) +- [ ] ARAXTeam (subscribe to `#deployment`) +- [ ] NCATSTranslator (subscribe to `#devops-teamexpanderagent`) #### Example ssh config for setting up login into `arax.ncats.io`: ``` @@ -45,18 +45,25 @@ Host arax.ncats.io - [ ] update the four hardcoded biolink version numbers in the branch (as needed): - [ ] in `code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml` ([github](https://github.com/RTXteam/RTX/tree/master/code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml#L18); [local](../code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml)) - [ ] in `code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml` ([github](https://github.com/RTXteam/RTX/tree/master/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml#L18); [local](../code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml)) - - [ ] in `code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml`([github](https://github.com/RTXteam/RTX/blob/master/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml)) - - [ ] in `code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml` ([github](https://github.com/RTXteam/RTX/blob/master/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml)) + - [ ] in `code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml`([github](https://github.com/RTXteam/RTX/blob/master/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml#L18)) + - [ ] in `code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml` ([github](https://github.com/RTXteam/RTX/blob/master/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml#L18)) - [ ] build a new KG2c on `buildkg2c.rtx.ai` from the branch (how-to is [here](https://github.com/RTXteam/RTX/tree/master/code/kg2c#build-kg2canonicalized)) - [ ] before starting the build: - [ ] make sure there is enough disk space available on `arax-databases.rtx.ai` (need at least 100G, ideally >120G). delete old KG2 database directories as needed (warn the team on Slack in advance). - - [ ] make sure to choose to build a new synonymizer in `kg2c_config.json`, as described in the how-to - - [ ] after the build is done, verify it looks ok: - - [ ] `node_synonymizer.sqlite` should be around 8-15 GB - - [ ] make sure `node_synonymizer.sqlite`'s last modified date is today (or whatever day the build was run) - - [ ] make sure `kg2c_lite.json.gz`'s last modified date is today (or whatever day the build was run) - - [ ] the entire build runtime (synonymizer + KG2c) shouldn't have been more than 24 hours - - [ ] the synonymizer and KG2c artifacts should have been auto-uploaded into the proper directory on `arax-databases.rtx.ai` (`/home/rtxconfig/KG2.X.Y`) + + **NOTE:** For detailed deployment instructions, follow the instructions [here](https://github.com/RTXteam/RTX/tree/master/code/kg2c#building-kg2c) + - [ ] to do a standard build of a new synonymizer (expected runtime: 2-4 hours), run: + - [ ] `cd RTX/code/kg2c/synonymizer_build` + - [ ] `python build_synonymizer.py 2.X.Y v1.0 --downloadkg2pre --uploadartifacts` + - [ ] after the build, run the Synonymizer pytest regression test suite: + - [ ] `pytest -vs test_synonymizer.py --synonymizername node_synonymizer_v1.0_KG2.X.Y.sqlite` + - [ ] make sure that `node_synonymizer_v1.0_KG2.X.Y.sqlite` is about 8-15 GB and its last modified date is today + - [ ] to do a standard full build of a new KG2c (expected runtime: 8-10 hours), run: + - [ ] `cd RTX/code/kg2c` + - [ ] `python build_kg2c.py 2.X.Y v1.0 4.2.1 --uploadartifacts` + - **NOTE:** 4.2.1 is the Biolink version, please use the latest biolink version based on the KG2pre build's biolink version. Add a `--test` flag to the KG2c build execution to do a test build. + - [ ] after the build is done, make sure `kg2c_lite.json.gz`'s last modified date is today (or whatever day the build was run) + - [ ] the synonymizer and KG2c artifacts should have been auto-uploaded into the proper directory on `arax-databases.rtx.ai` (`/home/rtxconfig/KG2.X.Y`) and to `kg2webhost.rtx.ai` (if `--uploadartifacts` flag during the KG2c build is set). If not, manually upload the files using `scp`. - [ ] load the new KG2c into neo4j at http://kg2-X-Yc.rtx.ai:7474/browser/ (how to is [here](https://github.com/RTXteam/RTX/tree/master/code/kg2c#host-kg2canonicalized-in-neo4j)) - [ ] verify the correct KG2 version was uploaded by running this query: `match (n {id:"RTX:KG2c"}) return n` - [ ] update `RTX/code/config_dbs.json` in the branch: @@ -66,19 +73,18 @@ Host arax.ncats.io - [ ] update the meta_kg version number/path - [ ] update the kg2c sqlite version number/path - [ ] update the KG2pre and KG2c Neo4j endpoints -- [ ] copy the `kg2c_lite_2.X.Y.json.gz` file (which you can get from the S3 bucket `s3://rtx-kg2/kg2c_lite.json.gz` (but CHECK THE DATE AND MD5 HASH TO BE SURE YOU ARE NOT GETTING AN OLD FILE) to the directory `/home/ubuntu/nginx-document-root/` on `kg2webhost.rtx.ai` -- [ ] load the new KG2c into Plover (how-to is [here](https://github.com/RTXteam/PloverDB/wiki/Deployment-how-tos#to-build-plover-from-a-new-kg2-version)) -- [ ] start the new self-hosted PloverDB on `kg2cploverN.rtx.ai`: +- [ ] load the new KG2c into Plover (how-to is [here](https://github.com/RTXteam/PloverDB/wiki/Deployment-how-tos#to-build-plover-from-a-new-kg2-version)) + - [ ] update `config_kg2c.json` in the `kg2.X.Yc` branch of the Plover repo to point to the new KG2.X.Yc json lines nodes and edges files on `kg2webhost.rtx.ai` (push this change) - [ ] `ssh ubuntu@kg2cploverN.rtx.ai` - [ ] `cd PloverDB && git pull origin kg2.X.Yc` - [ ] if you have **not** yet built the 2.X.Y docker image/container on this instance, run: - - [ ] `./run.sh ploverimage2.X.Y plovercontainer2.X.Y "sudo docker"` (takes about an hour) + - [ ] `bash -x run.sh` (takes about an hour) - [ ] otherwise, simply run: - - [ ] `sudo docker start plovercontainer2.X.Y` (takes about five minutes) -- [ ] verify that Plover's regression tests pass, and fix any broken tests (note: tests must use **canonical** curies!); from any instance/computer, run: - - [ ] `cd PloverDB` - - [ ] `pytest -v test/test.py --endpoint http://kg2cploverN.rtx.ai:9990` -- [ ] update `config_dbs.json` in the branch for this KG2 version in the RTX repo to point to the new Plover **for the 'dev' maturity level** + - [ ] `sudo docker start plovercontainer` (takes about ten minutes) +- [ ] verify that Plover's regression tests pass, and fix any broken tests; from any instance/computer, run: + - [ ] `cd PloverDB/test` + - [ ] `pytest -v --endpoint https://kg2cploverN.rtx.ai:9990` +- [ ] update `config_dbs.json` in the branch for this KG2 version in the RTX repo to point to the new Plover in the `plover_url_override` slot #### 2. Rebuild downstream databases: @@ -88,6 +94,8 @@ The following databases should be rebuilt and copies of them should be put in `/ - [ ] Build CURIE NGD database @mohsenht - [ ] refreshed XDTD database @chunyuma - [ ] XDTD database @chunyuma _(may be skipped - depends on the changes in this KG2 version)_ +- [ ] refreshed XCRG database @chunyuma +- [ ] XCRG database @chunyuma _(may be skipped - depends on the changes in this KG2 version)_ **NOTE**: As databases are rebuilt, `RTX/code/config_dbs.json` will need to be updated to point to their new paths! Push these changes to the branch for this KG2 version, unless the rollout of this KG2 version has already occurred, in which case you should push to `master` (but first follow the steps described [here](https://github.com/RTXteam/RTX/wiki/Config,-databases,-and-SFTP#config_dbsjson)). @@ -95,16 +103,10 @@ The following databases should be rebuilt and copies of them should be put in `/ All code changes should **go in the branch for this KG2 version**! -- [ ] regenerate the KG2c test triples file in the branch for this KG2 version - - [ ] ensure the new KG2c Neo4j is currently running - - [ ] check out the branch and pull to get the latest changes (this is important for ensuring the correct KG2c Neo4j is used) - - [ ] run [create_json_of_kp_predicate_triples.py](https://github.com/RTXteam/RTX/blob/master/code/ARAX/KnowledgeSources/create_json_of_kp_predicate_triples.py) - - [ ] push the regenerated file to `RTX/code/ARAX/KnowledgeSources/RTX_KG2c_test_triples.json` - [ ] update Expand code as needed - [ ] update any other modules as needed - [ ] test everything together: - [ ] check out the branch and pull to get the latest changes - - [ ] locally set `force_local = True` in `ARAX_expander.py` (to avoid using the old KG2 API) - [ ] then run the entire ARAX pytest suite (i.e., `pytest -v`) - [ ] address any failing tests - [ ] update the KG2 and ARAX version numbers in the appropriate places (in the branch for this KG2 version) @@ -121,8 +123,8 @@ Before rolling out, we need to pre-upload the new databases (referenced in `conf - [ ] copy the new databases from `arax-databases.rtx.ai` to `arax.ncats.io:/translator/data/orangeboard/databases/KG2.X.Y`; example for KG2.8.0: - [ ] `ssh myuser@arax.ncats.io` - [ ] `cd /translator/data/orangeboard/databases/` - - [ ] `mkdir -m 777 KG2.8.0` - - [ ] `scp rtxconfig@arax-databases.rtx.ai:/home/rtxconfig/KG2.8.0/*2.8.0* KG2.8.0/` + - [ ] `mkdir -m 777 KG2.X.Y` + - [ ] `scp rtxconfig@arax-databases.rtx.ai:/home/rtxconfig/KG2.X.Y/*2.X.Y* KG2.X.Y/` - [ ] upload the new databases and their md5 checksums to ITRB's SFTP server using the steps detailed [here](https://github.com/RTXteam/RTX/wiki/Config,-databases,-and-SFTP#steps-for-all-databases-at-once) #### 5. Rollout new KG2c version to `arax.ncats.io` development endpoints @@ -148,9 +150,7 @@ Before rolling out, we need to pre-upload the new databases (referenced in `conf - [ ] look up `RTX:KG2` in the Synonyms tab in the UI - [ ] roll `master` out to the various `arax.ncats.io` development endpoints. Usually in this order: - [ ] `devED` - - [ ] `kg2beta` - [ ] `beta` - - [ ] `kg2test` - [ ] `test` - [ ] `devLM` - [ ] inside the Docker `rtx1` container, run the pytest suite on the various ARAX development endpoints (that means `devED`, `devLM`, `test`, and `beta`): @@ -176,8 +176,8 @@ Before rolling out, we need to pre-upload the new databases (referenced in `conf - [ ] `ssh ubuntu@kg2-X-Zc.rtx.ai` - [ ] `sudo service neo4j stop` - [ ] In the AWS console, stop the instance `kg2canonicalizedN.rtx.ai` -- [ ] turn off the old KG2c version's plover instance (if it has not already been turned off during the previous KG2c roll-out; under normal circumstances, we turn off the self-hosted PloverDB for the new KG2c, during clean-up) - - [ ] Determine what is the DNS A record hostname for `kg2-X-Zcplover.rtx.ai` (where `Z` is one less than the new minor release version): run `nslookup kg2-X-Zploverc.rtx.ai` (it will return either `kg2cplover.rtx.ai`, `kg2cplover2.rtx.ai`, or `kg2cplover3.rtx.ai`; we'll call it `kg2cploverN.rtx.ai`). +- [ ] turn off the **old** KG2c version's plover instance (if it has not already been turned off during the previous KG2c roll-out; under normal circumstances, we turn off the self-hosted PloverDB for the new KG2c, during clean-up) + - [ ] Determine what is the DNS A record hostname for `kg2-X-Zcplover.rtx.ai` (where `Z` is one less than the new minor release version): run `nslookup kg2-X-Zploverc.rtx.ai` (it will return either `kg2cplover.rtx.ai` or `kg2cplover3.rtx.ai`; we'll call it `kg2cploverN.rtx.ai`). - [ ] message the `#deployment` channel in the `ARAXTeam` Slack workspace that you will be stopping the `kg2-X-Zcplover.rtx.ai` PloverDB service - [ ] Log into `kg2cploverN.rtx.ai`: `ssh ubuntu@kg2cploverN.rtx.ai` - [ ] Stop the PloverDB container: `sudo docker stop plovercontainer2.X.Z` (if you are not sure of the container name, use `sudo docker container ls -a` to get the container name). @@ -185,42 +185,20 @@ Before rolling out, we need to pre-upload the new databases (referenced in `conf - [ ] deploy new PloverDB service into ITRB CI that is backed by the new KG2c database: - [ ] merge PloverDB `main` branch into `kg2.X.Yc` branch (if `main` has any commits ahead of `kg2.X.Yc`). Reference this issue (via its full GitHub URL) in the merge message. - [ ] merge PloverDB `kg2.X.Yc` branch into `main` branch. Reference this issue (via its full GitHub URL) in the merge message. - - [ ] update `kg_config.json` in the `main` branch of the Plover repo to point to the new `kg2c_lite_2.X.Y.json.gz` file (push this change) - - [ ] wait about 60 minutes for Jenkins to build the PloverDB project and deploy it to `kg2cploverdb.ci.transltr.io` - - [ ] verify the CI Plover is running the new KG2 version by running the following test and inspecting the command line output: `cd PloverDB && pytest -vs test/test.py -k test_version --endpoint https://kg2cploverdb.ci.transltr.io` - - [ ] run Plover tests to verify it's working: `cd PloverDB && pytest -v test/test.py --endpoint https://kg2cploverdb.ci.transltr.io` - - [ ] run the ARAX pytest suite with the NCATS endpoint plugged in (locally change the URL in `RTX/code/config_dbs.json` and set `force_local = True` in Expand) - - [ ] if all tests pass, update `RTX/code/config_dbs.json` in the `master` branch to point to the ITRB Plover endpoints (all maturity levels): (`dev`: `kg2cploverdb.ci.transltr.io`; `test`: `kg2cploverdb.test.transltr.io`; `prod`: `kg2cploverdb.transltr.io`) - - [ ] push the latest `master` branch code commit to the various endpoints on `arax.ncats.io` that you previously updated (this is in order to get the changed `config_dbs.json` file) and restart ARAX and KG2 services + - [ ] wait about 70 minutes for Jenkins to build the PloverDB project and deploy it to `kg2cploverdb.ci.transltr.io` + - [ ] verify that the CI Plover is running the new KG2 version by: + - [ ] going to https://kg2cploverdb.ci.transltr.io/code_version and verifying that the correct nodes and edges jsonlines files were used + - [ ] running the following test and inspecting the command line output: `cd PloverDB/test && pytest -vsk test_version --endpoint https://kg2cploverdb.ci.transltr.io` + - [ ] run the full Plover test suite to verify everything is working: `cd PloverDB/test && pytest -v --endpoint https://kg2cploverdb.ci.transltr.io` + - [ ] run the ARAX pytest suite using the CI KG2 Plover (locally remove the `plover_url_override` in `RTX/code/config_dbs.json` by setting it to `null`) + - [ ] if all tests pass, update `RTX/code/config_dbs.json` in the `master` branch with your local change: (`plover_url_override: null`) + - [ ] push the latest `master` branch code commit to the various endpoints on `arax.ncats.io` that you previously updated (this is in order to get the changed `config_dbs.json` file) and restart ARAX services - [ ] check the [Test Build](https://github.com/RTXteam/RTX/actions/workflows/pytest.yml) (CI/CD tests) to make sure all non-skipped pytest tests have passed - [ ] turn off the self-hosted plover endpoint for the new version of KG2c - [ ] message the `#deployment` channel to notify people what you are about to do - [ ] `ssh ubuntu@kg2cploverM.rtx.ai` - - [ ] `sudo docker container ls -a` (gives you the name of the container; assume it is `plovercontainer2.X.Y`) - - [ ] `sudo docker stop plovercontainer2.X.Y` + - [ ] `sudo docker container ls -a` (gives you the name of the container; assume it is `plovercontainer`) + - [ ] `sudo docker stop plovercontainer` - [ ] verify once more that ARAX is still working properly, even with the self-hosted new-KG2c-version PloverDB service turned off - [ ] delete the `kg2.X.Yc` branch in the PloverDB repo (since it has been merged into `main` at this point) - [ ] upload the new `kg2c_lite_2.X.Y.json.gz` file to the [translator-lfs-artifacts](https://github.com/ncats/translator-lfs-artifacts/tree/main/files) repo (ask Amy Glen or Sundar Pullela, who have permission to do this) -- [ ] upload the new `kg2_nodes_not_in_sri_nn.tsv` file to the [translator-lfs-artifacts](https://github.com/ncats/translator-lfs-artifacts/tree/main/files) repo - -#### 7. Roll-out to ITRB TEST -- [ ] In GitHub, for the RTXteam/RTX project, merge `master` to `itrb-test`. Record this issue number in the merge message. -- [ ] In GitHub, for the RTXteam/PloverDB project, merge `main` to `itrb-test`. -- [ ] Tag the release using the `master` branch of RTXteam/RTX project. -- [ ] Tag the release using the `main` branch of RTXteam/PloverDB project. -- [ ] Via a message in the `#devops-teamexpanderagent` channel in the `NCATSTranslator` Slack workspace, put in a request to `@Sarah Stemann` to open a ticket to re-deploy ARAX, RTX-KG2, and PloverDB to ITRB test -- [ ] Monitor the `#devops-teamexpanderagent` channel to follow the roll-out of the updated services in ITRB test (i.e., to see if there are any errors reported by ITRB) -- [ ] Check proper functioning of `kg2cploverdb.test.transltr.io` - - [ ] from any git checkout of `RTXteam/PloverDB` project's `master` branch, do : `cd PloverDB && pytest -v test/test.py --endpoint https://kg2cploverdb.test.transltr.io` -- [ ] Check proper functioning of `kg2.test.transltr.io` (look at messages log `debug` mesages to verify that it is indeed querying `kg2cploverdb.test.transltr.io`) -- [ ] Check proper functioning of `arax.test.transltr.io` (look at messages log `debug` mesages to verify that ARAX-Expand is indeed querying `kg2.test.transltr.io`) - -#### 8. Roll-out to ITRB PRODUCTION -- [ ] In GitHub, for the RTXteam/RTX project, merge `master` to `production`. Record this issue number in the merge message. -- [ ] In GitHub, for the RTXteam/PloverDB project, merge `main` to `production`. -- [ ] Via a message in the `#devops-teamexpanderagent` channel in the `NCATSTranslator` Slack workspace, put in a request to `@Sarah Stemann` to open a ticket to re-deploy ARAX, RTX-KG2, and PloverDB to ITRB production -- [ ] Monitor the `#devops-teamexpanderagent` channel to follow (i.e., to see if there are any errors reported by ITRB) the roll-out of the updated services in ITRB production (this could take several days, as there is a formal approval process for deployments to ITRB production) -- [ ] Check proper functioning of `kg2cploverdb.transltr.io` -- [ ] Check proper functioning of `kg2.transltr.io` (look at messages log `debug` mesages to verify that it is indeed querying `kg2cploverdb.transltr.io`) -- [ ] Check proper functioning of `arax.transltr.io` (look at messages log `debug` mesages to verify that ARAX-Expand is indeed querying `kg2.transltr.io`) - diff --git a/LICENSE b/LICENSE index c93bc399b..e0a02a0b1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017-2019 Oregon State University +Copyright (c) 2017-2024 Oregon State University Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 3a1f7f5cd..c2fe25ed4 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ it. ARAX is a tool for querying, manipulating, filtering, and exploring biomedical knowledge graphs. It is designed to be a type of middleware—an *autonomous -relay agent*—within the Translator system. The top-level layer of +relay agent*—within the [Translator system](https://github.com/NCATSTranslator/Translator-All/wiki). The top-level layer of Translator (which is called the *autonomous relay system*) will issue structured queries to ARAX via ARAX's web application programming interface. Then, based on the query type, ARAX will determine which *knowledge providers* it needs to consult in diff --git a/code/ARAX/ARAXQuery/ARAX_connect.py b/code/ARAX/ARAXQuery/ARAX_connect.py index b63e3e0d0..11e985d00 100644 --- a/code/ARAX/ARAXQuery/ARAX_connect.py +++ b/code/ARAX/ARAXQuery/ARAX_connect.py @@ -1,6 +1,5 @@ import sys -import requests from RTXConfiguration import RTXConfiguration @@ -21,6 +20,7 @@ def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) from openapi_server.models.q_edge import QEdge from openapi_server.models.q_node import QNode from openapi_server.models.knowledge_graph import KnowledgeGraph + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../NodeSynonymizer/") from node_synonymizer import NodeSynonymizer @@ -34,50 +34,29 @@ def __init__(self): self.allowable_actions = { 'connect_nodes', } - self.report_stats = False # Set this to False when ready to go to production, this is only for debugging purposes - # parameter descriptions + # Set this to False when ready to go to production, this is only for debugging purposes + self.report_stats = False + self.max_path_length_info = { "is_required": False, "examples": [2, 3, 5], "min": 1, "max": 5, "type": "integer", - "description": "The maximum edges to connect two nodes with. If not provided defaults to 2." - } - self.qnode_keys_info = { - "is_required": True, - "examples": [['n01', 'n02'], []], - "type": "list", - "description": "List with just two qnode keys to connect. example: [n1, n2]" - } - self.node_category_constraint_info = { - "is_required": False, - "examples": ['biolink:Disease', 'biolink:Gene', 'biolink:ChemicalEntity'], - "type": "string", - "description": "This constraint will display paths that only pass through the user-specified category." + "description": "The maximum edges to connect two nodes with. If not provided defaults to 4." } - # command descriptions self.command_definitions = { "connect_nodes": { "dsl_command": "connect(action=connect_nodes)", "description": """ -`connect_nodes` Try to find reasonable paths between two bio entities. - -Use cases include: - -* finding out how 2 concepts are connected. - -You have the option to limit the maximum number of edges in a path (via `max_path_length=`) - """, - 'brief_description': """ -connect_nodes adds paths between two nodes specified in the query. + `connect_nodes` Try to find reasonable paths between two bio entities. + You have the option to limit the maximum number of edges in a path (via `max_path_length=`) """, + 'brief_description': "connect_nodes adds paths between two nodes specified in the query.", "parameters": { - "max_path_length": self.max_path_length_info, - "qnode_keys": self.qnode_keys_info, - "node_category_constraint": self.node_category_constraint_info + "max_path_length": self.max_path_length_info } } } @@ -88,22 +67,29 @@ def report_response_stats(self, response): """ message = self.message if self.report_stats: - # report number of nodes and edges, and their type in the QG + if hasattr(message, 'query_graph') and message.query_graph: response.debug(f"Query graph is {message.query_graph}") - if hasattr(message, 'knowledge_graph') and message.knowledge_graph and hasattr(message.knowledge_graph, - 'nodes') and message.knowledge_graph.nodes and hasattr( - message.knowledge_graph, 'edges') and message.knowledge_graph.edges: + + if (hasattr(message, 'knowledge_graph') and + message.knowledge_graph and + hasattr(message.knowledge_graph, 'nodes') and + message.knowledge_graph.nodes and + hasattr(message.knowledge_graph, 'edges') and + message.knowledge_graph.edges): + response.debug(f"Number of nodes in KG is {len(message.knowledge_graph.nodes)}") response.debug( - f"Number of nodes in KG by type is {Counter([x.categories[0] for x in message.knowledge_graph.nodes.values()])}") # type is a list, just get the first one - # response.debug(f"Number of nodes in KG by with attributes are {Counter([x.category for x in message.knowledge_graph.nodes.values()])}") # don't really need to worry about this now + f"Number of nodes in KG by type is " + f"{Counter([x.categories[0] for x in message.knowledge_graph.nodes.values()])}") response.debug(f"Number of edges in KG is {len(message.knowledge_graph.edges)}") response.debug( - f"Number of edges in KG by type is {Counter([x.predicate for x in message.knowledge_graph.edges.values()])}") + f"Number of edges in KG by type is " + f"{Counter([x.predicate for x in message.knowledge_graph.edges.values()])}") response.debug( - f"Number of edges in KG with attributes is {len([x for x in message.knowledge_graph.edges.values() if x.attributes])}") - # Collect attribute names, could do this with list comprehension, but this is so much more readable + f"Number of edges in KG with attributes is " + f"{len([x for x in message.knowledge_graph.edges.values() if x.attributes])}") + attribute_names = [] for x in message.knowledge_graph.edges.values(): if x.attributes: @@ -135,26 +121,16 @@ def check_params(self, allowable_parameters): f"Supplied parameter {key} is not permitted. Allowable parameters are: {list(allowable_parameters.keys())}", error_code="UnknownParameter") return -1 - elif type(item) == list or type(item) == set: - for item_val in item: - if item_val not in allowable_parameters[key]: - self.response.warning( - f"Supplied value {item_val} is not permitted. In action {allowable_parameters['action']}, allowable values to {key} are: {list(allowable_parameters[key])}") - return -1 - elif item not in allowable_parameters[key]: - if any([type(x) == float for x in - allowable_parameters[key]]): # if it's a float, just accept it as it is + if item not in allowable_parameters[key]: + if any([type(x) == int for x in allowable_parameters[key]]): continue - elif any([type(x) == int for x in allowable_parameters[key]]): - continue - elif any([type(x) == str for x in allowable_parameters[key]]): - continue - else: # otherwise, it's really not an allowable parameter - self.response.warning( - f"Supplied value {item} is not permitted. In action {allowable_parameters['action']}, allowable values to {key} are: {list(allowable_parameters[key])}") + else: + self.response.error( + f"Supplied value {item} is not permitted. In action " + f"{allowable_parameters['action']}, " + f"allowable values to {key} are: {list(allowable_parameters[key])}") return -1 - #### Top level decision maker for applying filters def apply(self, input_response, input_parameters): self.response = input_response @@ -162,15 +138,12 @@ def apply(self, input_response, input_parameters): if self.message.knowledge_graph is None: self.message.knowledge_graph = KnowledgeGraph(nodes=dict(), edges=dict()) - #### Basic checks on arguments if not isinstance(input_parameters, dict): self.response.error("Provided parameters is not a dict", error_code="ParametersNotDict") return self.response - # list of actions that have so far been created for ARAX_overlay allowable_actions = self.allowable_actions - # check to see if an action is actually provided if 'action' not in input_parameters: self.response.error(f"Must supply an action. Allowable actions are: action={allowable_actions}", error_code="MissingAction") @@ -179,156 +152,150 @@ def apply(self, input_response, input_parameters): f"Supplied action {input_parameters['action']} is not permitted. Allowable actions are: {allowable_actions}", error_code="UnknownAction") - #### Return if any of the parameters generated an error (showing not just the first one) if self.response.status != 'OK': return self.response - # populate the parameters dict parameters = dict() for key, value in input_parameters.items(): parameters[key] = value - #### Store these final parameters for convenience self.response.data['parameters'] = parameters self.parameters = parameters - # convert the action string to a function call (so I don't need a ton of if statements getattr(self, '_' + self.__class__.__name__ + '__' + parameters[ 'action'])() # thank you https://stackoverflow.com/questions/11649848/call-methods-by-string - self.response.debug( - f"Applying Connect to Message with parameters {parameters}") # TODO: re-write this to be more specific about the actual action + self.response.debug(f"Applying Connect to Message with parameters {parameters}") - #### Return the response and done if self.report_stats: # helper to report information in debug if class self.report_stats = True self.response = self.report_response_stats(self.response) return self.response + def get_pinned_nodes(self): + pinned_nodes = [] + for key, node in self.message.query_graph.nodes.items(): + if node.ids and len(node.ids) > 0: + pinned_nodes.append(key) + if len(pinned_nodes) != 2: + self.response.error(f"Query graph must have exactly 2 pinned nodes to connect. " + f"Number of pinned nodes: {len(pinned_nodes)}") + return pinned_nodes + + def get_constraint_node(self): + constraint_node = [] + for key, node in self.message.query_graph.nodes.items(): + if node.categories and len(node.categories) > 0: + constraint_node.append(key) + if len(constraint_node) > 1: + self.response.error(f"For now PathFinder can only handle one constraint node. " + f"Number of pinned nodes: {len(constraint_node)}") + return constraint_node + + def get_normalize_nodes(self, nodes, pinned_qnode_id): + synonymizer = NodeSynonymizer() + try: + return synonymizer.get_canonical_curies( + curies=nodes[pinned_qnode_id].ids[0])[nodes[pinned_qnode_id].ids[0]]['preferred_curie'] + except Exception as e: + self.response.error(f"PathFinder could not get canonical CURIE for the node: {pinned_qnode_id}" + f" with id: {nodes[pinned_qnode_id].ids[0]}." + f" You need to provide id (CURIE) or name for this node." + f" Error message is: {e}") + return self.response + + def get_src_node(self, pinned_nodes): + for key_node in pinned_nodes: + for key_edge, edge in self.message.query_graph.edges.items(): + if edge.subject == key_node: + return key_node + self.response.error(f"Could not find source node") + + def get_dst_node(self, pinned_nodes): + for key_node in pinned_nodes: + for key_edge, edge in self.message.query_graph.edges.items(): + if edge.object == key_node: + return key_node + self.response.error(f"Could not find destination node") + + def get_q_src_dest_edge_name(self, src_key, dst_key): + for key_edge, edge in self.message.query_graph.edges.items(): + if edge.subject == src_key and edge.object == dst_key: + return key_edge + self.response.error(f"Could not find source to destination edge") + + def get_q_src_mid_edge_name(self, src_key, mid_key): + for key_edge, edge in self.message.query_graph.edges.items(): + if edge.subject == src_key and edge.object == mid_key: + return key_edge + self.response.error(f"Could not find source to constraint edge") + + def get_q_mid_dest_edge_name(self, mid_key, dst_key): + for key_edge, edge in self.message.query_graph.edges.items(): + if edge.subject == mid_key and edge.object == dst_key: + return key_edge + self.response.error(f"Could not find constraint to destination edge") + def __connect_nodes(self, describe=False): """ - Connects qnodes and runs expand. - Allowable parameters: {'edge_predicate': str, - 'edge_property': str, - 'direction': {'above', 'below'}} + PathFinder try to find paths between two pinned nodes. :return: """ - message = self.message - parameters = self.parameters - # make a list of the allowable parameters (keys), and their possible values (values). Note that the action and corresponding name will always be in the allowable parameters - if message and parameters and hasattr(message, 'query_graph') and hasattr(message.query_graph, 'nodes'): - allowable_parameters = {'action': {'connect_nodes'}, - 'max_path_length': {int()}, - 'node_category_constraint': {str()}, - 'qnode_keys': set(self.message.query_graph.nodes.keys()) - } - else: - allowable_parameters = {'action': {'connect_nodes'}, - 'max_path_length': { - 'A maximum path length to use to connect qnodes. Defaults to 2.'}, - 'node_category_constraint': { - 'All paths must include at least one node from this category constraint.'}, - 'qnode_keys': {'A list with just two query keys to connect'} - } - - # A little function to describe what this thing does + + allowable_parameters = { + 'action': {'connect_nodes'}, + 'max_path_length': {1, 2, 3, 4, 5} + } if describe: allowable_parameters['brief_description'] = self.command_definitions['connect_nodes'] return allowable_parameters - # Make sure only allowable parameters and values have been passed - resp = self.check_params(allowable_parameters) - # return if bad parameters have been passed - if self.response.status != 'OK' or resp == -1: - return self.response - - if 'qnode_keys' not in self.parameters or len(self.parameters['qnode_keys']) == 0: - self.parameters['qnode_keys'] = list(set(self.message.query_graph.nodes.keys())) - if len(self.parameters['qnode_keys']) < 2: - self.response.error( - f"Query graph must have at least 2 nodes to connect.", - error_code="QueryGraphError") - elif len(self.parameters['qnode_keys']) == 1: - self.response.error( - f"If qnode keys are provided you must provide at least 2 qnode keys.", - error_code="ValueError") - if 'max_path_length' not in self.parameters: - self.parameters['max_path_length'] = 2 - if 'node_category_constraint' not in self.parameters: - self.parameters['node_category_constraint'] = '' - # convert path length to int if it isn't already + self.parameters['max_path_length'] = 4 if type(self.parameters['max_path_length']) != int: self.parameters['max_path_length'] = int(self.parameters['max_path_length']) - if self.parameters['max_path_length'] < 1 or self.parameters['max_path_length'] > 5: - self.response.error( - f"Maximum path length must be betwen 1 and 5 inclusive.", - error_code="ValueError") - + self.response.error(f"Maximum path length must be between 1 and 5 inclusive.", error_code="ValueError") if self.response.status != 'OK': return self.response - mode = 'ARAX' + resp = self.check_params(allowable_parameters) + if self.response.status != 'OK' or resp == -1: + return self.response - if len(self.parameters['qnode_keys']) != 2: - self.response.error( - f"Connect works with just two qnodes. qnode list size: {len(self.parameters['qnode_keys'])}" - ) + pinned_nodes = self.get_pinned_nodes() + src_pinned_node = self.get_src_node(pinned_nodes) + dst_pinned_node = self.get_dst_node(pinned_nodes) + constraint_node = self.get_constraint_node()[0] + q_src_dest_edge_name = self.get_q_src_dest_edge_name(src_pinned_node, dst_pinned_node) + q_src_mid_edge_name = self.get_q_src_mid_edge_name(src_pinned_node, constraint_node) + q_mid_dest_edge_name = self.get_q_mid_dest_edge_name(constraint_node, dst_pinned_node) + if self.response.status != 'OK' or resp == -1: return self.response - nodes = {k: v for k, v in self.response.envelope.message.query_graph.nodes.items() if - k in self.parameters['qnode_keys']} - if len(nodes) != 2: - self.response.error(f"Need to have two nodes to find paths between them. Number of nodes: {len(nodes)}") + normalize_src_node_id = self.get_normalize_nodes(self.message.query_graph.nodes, src_pinned_node) + normalize_dst_node_id = self.get_normalize_nodes(self.message.query_graph.nodes, dst_pinned_node) path_finder = BidirectionalPathFinder( "NGDSortedNeighborsRepo", self.response ) - qnode_1_id = self.parameters['qnode_keys'][0] - qnode_2_id = self.parameters['qnode_keys'][1] - synonymizer = NodeSynonymizer() - node_1_id = synonymizer.get_canonical_curies(curies=nodes[qnode_1_id].ids[0])[nodes[qnode_1_id].ids[0]]['preferred_curie'] - node_2_id = synonymizer.get_canonical_curies(curies=nodes[qnode_2_id].ids[0])[nodes[qnode_2_id].ids[0]]['preferred_curie'] + paths = path_finder.find_all_paths( + normalize_src_node_id, + normalize_dst_node_id, + hops_numbers=self.parameters['max_path_length'] + ) - paths = path_finder.find_all_paths(node_1_id, node_2_id, hops_numbers=self.parameters['max_path_length']) + self.response.debug(f"PathFinder found {len(paths)} paths") if len(paths) == 0: - self.response.warning(f"Could not connect the nodes {qnode_1_id} and {qnode_2_id} " + self.response.warning(f"Could not connect the nodes {src_pinned_node} and {dst_pinned_node} " f"with a max path length of {self.parameters['max_path_length']}.") return self.response - qnode_mid_id = "qnode_mid_id" - self.response.envelope.message.query_graph.nodes[qnode_mid_id] = QNode( - ids=[], - categories=None, - is_set=False, - set_interpretation='BATCH', - set_id=None, - constraints=[], - option_group_id=None - ) - - q_edge_src_dest = 'q_edge_src_dest' - self.response.envelope.message.query_graph.edges[q_edge_src_dest] = QEdge( - object=qnode_1_id, - subject=qnode_2_id - ) - q_edge_src_mid = 'q_edge_src_mid' - self.response.envelope.message.query_graph.edges[q_edge_src_mid] = QEdge( - object=qnode_1_id, - subject=qnode_mid_id - ) - q_edge_mid_dest = 'q_edge_mid_dest' - self.response.envelope.message.query_graph.edges[q_edge_mid_dest] = QEdge( - object=qnode_mid_id, - subject=qnode_2_id - ) - names = Names( - q_src_dest_edge_name=q_edge_src_dest, - q_src_mid_edge_name=q_edge_src_mid, - q_mid_dest_edge_name=q_edge_mid_dest, + q_src_dest_edge_name=q_src_dest_edge_name, + q_src_mid_edge_name=q_src_mid_edge_name, + q_mid_dest_edge_name=q_mid_dest_edge_name, result_name="result", auxiliary_graph_name="aux", kg_src_dest_edge_name="kg_src_dest_edge", @@ -340,16 +307,17 @@ def __connect_nodes(self, describe=False): ) SuperNodeConverter( paths, - node_1_id, - node_2_id, - qnode_1_id, - qnode_2_id, - qnode_mid_id, + normalize_src_node_id, + normalize_dst_node_id, + src_pinned_node, + dst_pinned_node, + constraint_node, names, edge_extractor, - self.parameters['node_category_constraint'] + self.message.query_graph.nodes[constraint_node].categories[0] ).convert(self.response) + mode = 'ARAX' if mode != "RTXKG2" and not hasattr(self.response, "original_query_graph"): self.response.original_query_graph = copy.deepcopy(self.response.envelope.message.query_graph) return self.response diff --git a/code/ARAX/ARAXQuery/ARAX_decorator.py b/code/ARAX/ARAXQuery/ARAX_decorator.py index 407a5fb81..c7d5a4e73 100644 --- a/code/ARAX/ARAXQuery/ARAX_decorator.py +++ b/code/ARAX/ARAXQuery/ARAX_decorator.py @@ -57,7 +57,7 @@ def __init__(self): self.array_delimiter_char = "ǂ" self.kg2_infores_curie = "infores:rtx-kg2" # Can't use expand_utilities.py here due to circular imports - def decorate_nodes(self, response: ARAXResponse) -> ARAXResponse: + def decorate_nodes(self, response: ARAXResponse, only_decorate_bare: bool = False) -> ARAXResponse: message = response.envelope.message response.debug(f"Decorating nodes with metadata from KG2c") @@ -67,7 +67,10 @@ def decorate_nodes(self, response: ARAXResponse) -> ARAXResponse: # Extract the KG2c nodes from sqlite response.debug(f"Looking up corresponding KG2c nodes in sqlite") node_attributes_ordered = list(self.node_attributes) - node_keys = set(node_key.replace("'", "''") for node_key in message.knowledge_graph.nodes) # Escape quotes + node_keys = set(node_key.replace("'", "''") for node_key, node in message.knowledge_graph.nodes.items() # Escape quotes + if not only_decorate_bare or not any(attribute for attribute in node.attributes + if attribute.attribute_type_id == "biolink:description")) + response.debug(f"Identified {len(node_keys)} nodes to decorate (only_decorate_bare={only_decorate_bare})") node_keys_str = "','".join(node_keys) # SQL wants ('node1', 'node2') format for string lists node_cols_str = ", ".join([f"N.{property_name}" for property_name in node_attributes_ordered]) sql_query = f"SELECT N.id, {node_cols_str} " \ diff --git a/code/ARAX/ARAXQuery/ARAX_expander.py b/code/ARAX/ARAXQuery/ARAX_expander.py index 197831546..d81d5b1fd 100644 --- a/code/ARAX/ARAXQuery/ARAX_expander.py +++ b/code/ARAX/ARAXQuery/ARAX_expander.py @@ -28,7 +28,7 @@ from openapi_server.models.edge import Edge from openapi_server.models.attribute_constraint import AttributeConstraint from openapi_server.models.attribute import Attribute -from Expand.kg2_querier import KG2Querier +from openapi_server.models.retrieval_source import RetrievalSource from Expand.trapi_querier import TRAPIQuerier @@ -60,9 +60,7 @@ def __init__(self): "aggregator_knowledge_source": {"==": "*"}} self.supported_qedge_qualifier_constraints = {"biolink:qualified_predicate", "biolink:object_direction_qualifier", "biolink:object_aspect_qualifier"} - self.higher_level_treats_predicates = {"biolink:treats_or_applied_or_studied_to_treat", - "biolink:applied_to_treat", - "biolink:studied_to_treat"} + self.treats_like_predicates = set(self.bh.get_descendants("biolink:treats_or_applied_or_studied_to_treat")).difference({"biolink:treats"}) def describe_me(self): """ @@ -143,33 +141,20 @@ def get_parameter_info_dict(): return parameter_info_dict def apply(self, response, input_parameters, mode: str = "ARAX"): - force_local = False # Flip this to `True` in order to make your machine - # act as the KG2 'API' (do not commit that edit! - # `force_local = True` is for local use only) message = response.envelope.message # Initiate an empty knowledge graph if one doesn't already exist if message.knowledge_graph is None: message.knowledge_graph = KnowledgeGraph(nodes=dict(), edges=dict()) log = response - # this fetches the list of all registered kps with compatible versions - # Make sure the KG2 API doesn't fetch meta info for other KPs - kp_selector = KPSelector(kg2_mode=True, log=log) if mode == "RTXKG2" else KPSelector(log=log) + # Fetch the list of all registered kps with compatible versions + kp_selector = KPSelector(log=log) # Save the original QG, if it hasn't already been saved in ARAXQuery (happens for DSL queries..) - if mode != "RTXKG2" and not hasattr(response, "original_query_graph"): + if not hasattr(response, "original_query_graph"): response.original_query_graph = copy.deepcopy(response.envelope.message.query_graph) response.debug(f"Saving original query graph (has qnodes {set(response.original_query_graph.nodes)} " f"and qedges {set(response.original_query_graph.edges)})..") - # If this is a query for the KG2 API, ignore all option_group_id and exclude properties (only does one-hop) - if mode == "RTXKG2": - log.debug(f"Ignoring all 'option_group_id' and 'exclude' properties on qnodes/qedges since we're in RTXKG2 mode") - for qnode in message.query_graph.nodes.values(): - qnode.option_group_id = None - for qedge in message.query_graph.edges.values(): - qedge.option_group_id = None - qedge.exclude = None - # We'll use a copy of the QG because we modify it for internal use within Expand query_graph = copy.deepcopy(message.query_graph) @@ -236,15 +221,6 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): log.error(f"Unsupported constraint(s) detected on qedge {qedge_key}: \n{constraint}\n" f"Don't know how to handle! Supported qedge constraints are: " f"{self.supported_qedge_attribute_constraints}", error_code="UnsupportedConstraint") - if mode == "RTXKG2": # ARAX should pass along qualifier constraints - if qedge.qualifier_constraints: - for constraint in qedge.qualifier_constraints: - constraint_type_ids = {qualifier.qualifier_type_id for qualifier in constraint.qualifier_set} - if not constraint_type_ids.issubset(self.supported_qedge_qualifier_constraints): - log.warning(f"RTX-KG2 does not support {constraint.qualifier_type_id} qualifier constraints." - f" Supported qualifier constraints are: " - f"{self.supported_qedge_qualifier_constraints}") - return response if response.status != 'OK': return response @@ -285,42 +261,40 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): qnode.categories = [self.bh.get_root_category()] qnode.categories = self.bh.add_conflations(qnode.categories) # Make sure QG only uses canonical predicates - if mode != "RTXKG2": - log.debug(f"Making sure QG only uses canonical predicates") - qedge_keys = set(query_graph.edges) - for qedge_key in qedge_keys: - qedge = query_graph.edges[qedge_key] - if qedge.predicates: - # Convert predicates to their canonical form as needed/possible - qedge_predicates = set(qedge.predicates) - all_predicates_canonicalized = set(self.bh.get_canonical_predicates(qedge.predicates)) - canonical_used_in_qg = qedge_predicates.intersection(all_predicates_canonicalized) - non_canonical_used_in_qg = qedge_predicates.difference(canonical_used_in_qg) - if non_canonical_used_in_qg and canonical_used_in_qg: - log.error(f"QEdge {qedge_key} contains both canonical and non-canonical predicates; this is " - f"not valid. Use either all canonical predicates or all non-canonical predicates.", - error_code="InvalidPredicates") - elif non_canonical_used_in_qg: - # This qedge must only have non-canonical predicates, so we'll flip the qedge to canonical - log.debug(f"Converting {qedge_key}'s non-canonical predicates to canonical form; requires " - f"swapping the qedge subject/object.") - eu.flip_qedge(qedge, list(all_predicates_canonicalized)) - # Handle special situation where user entered treats edge in wrong direction - if (qedge.predicates == ["biolink:treats"] or - qedge.predicates == ["biolink:treats_or_applied_or_studied_to_treat"]): - subject_qnode = query_graph.nodes[qedge.subject] - if "biolink:Disease" in self.bh.get_descendants(subject_qnode.categories): - log.warning(f"{qedge_key} seems to be pointing in the wrong direction (you have " - f"(disease-like node)-[treats]->(something)). Will flip this qedge.") - eu.flip_qedge(qedge, qedge.predicates) - else: - # Default to related_to if no predicate was specified - qedge.predicates = [self.bh.get_root_predicate()] + log.debug(f"Making sure QG only uses canonical predicates") + qedge_keys = set(query_graph.edges) + for qedge_key in qedge_keys: + qedge = query_graph.edges[qedge_key] + if qedge.predicates: + # Convert predicates to their canonical form as needed/possible + qedge_predicates = set(qedge.predicates) + all_predicates_canonicalized = set(self.bh.get_canonical_predicates(qedge.predicates)) + canonical_used_in_qg = qedge_predicates.intersection(all_predicates_canonicalized) + non_canonical_used_in_qg = qedge_predicates.difference(canonical_used_in_qg) + if non_canonical_used_in_qg and canonical_used_in_qg: + log.error(f"QEdge {qedge_key} contains both canonical and non-canonical predicates; this is " + f"not valid. Use either all canonical predicates or all non-canonical predicates.", + error_code="InvalidPredicates") + elif non_canonical_used_in_qg: + # This qedge must only have non-canonical predicates, so we'll flip the qedge to canonical + log.debug(f"Converting {qedge_key}'s non-canonical predicates to canonical form; requires " + f"swapping the qedge subject/object.") + eu.flip_qedge(qedge, list(all_predicates_canonicalized)) + # Handle special situation where user entered treats edge in wrong direction + if (qedge.predicates == ["biolink:treats"] or + qedge.predicates == ["biolink:treats_or_applied_or_studied_to_treat"]): + subject_qnode = query_graph.nodes[qedge.subject] + if "biolink:Disease" in self.bh.get_descendants(subject_qnode.categories): + log.warning(f"{qedge_key} seems to be pointing in the wrong direction (you have " + f"(disease-like node)-[treats]->(something)). Will flip this qedge.") + eu.flip_qedge(qedge, qedge.predicates) + else: + # Default to related_to if no predicate was specified + qedge.predicates = [self.bh.get_root_predicate()] # Expand any specified edges inferred_qedge_keys = [qedge_key for qedge_key, qedge in query_graph.edges.items() if qedge.knowledge_type == "inferred"] - do_issue_2328_patch = True # Turns on/off the patch for #2328 (treats refactor issue) if qedge_keys_to_expand: query_sub_graph = self._extract_query_subgraph(qedge_keys_to_expand, query_graph, log) log.debug(f"Query graph for this Expand() call is: {query_sub_graph.to_dict()}") @@ -345,7 +319,7 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): response.update_query_plan(qedge_key, kp, 'Waiting', f'Waiting for processing to begin') # Get any inferred results from ARAX Infer - if mode != "RTXKG2" and inferred_qedge_keys: + if inferred_qedge_keys: response, overarching_kg = self.get_inferred_answers(inferred_qedge_keys, query_graph, response) if log.status != 'OK': return response @@ -353,41 +327,40 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): if inferred_qedge_keys and len(query_graph.edges) == 1: for edge in query_sub_graph.edges.keys(): query_sub_graph.edges[edge].knowledge_type = 'lookup' - # Expand the query graph edge-by-edge + + # Expand the query graph edge-by-edge (in regular 'lookup' fashion) for qedge_key in ordered_qedge_keys_to_expand: log.debug(f"Expanding qedge {qedge_key}") response.update_query_plan(qedge_key, 'edge_properties', 'status', 'Expanding') for kp in kp_selector.valid_kps: response.update_query_plan(qedge_key, kp, 'Waiting', 'Prepping query to send to KP') qedge = query_graph.edges[qedge_key] - alter_kg2_treats_edges = True if (do_issue_2328_patch and qedge_key in inferred_qedge_keys - and "biolink:treats" in qedge.predicates) else False + be_creative_treats = True if (qedge_key in inferred_qedge_keys + and "biolink:treats" in qedge.predicates) else False # Create a query graph for this edge (that uses curies found in prior steps) one_hop_qg = self._get_query_graph_for_edge(qedge_key, query_graph, overarching_kg, log) - if mode != "RTXKG2": - # Mark these qedges as 'lookup' if this is an 'inferred' query - if inferred_qedge_keys and len(query_graph.edges) == 1: - for edge in one_hop_qg.edges.keys(): - one_hop_qg.edges[edge].knowledge_type = 'lookup' + # Mark these qedges as 'lookup' if this is an 'inferred' query + if inferred_qedge_keys and len(query_graph.edges) == 1: + for edge in one_hop_qg.edges.keys(): + one_hop_qg.edges[edge].knowledge_type = 'lookup' # Figure out the prune threshold (use what user provided or otherwise do something intelligent) if parameters.get("prune_threshold"): pre_prune_threshold = parameters["prune_threshold"] else: pre_prune_threshold = self._get_prune_threshold(one_hop_qg) # Prune back any nodes with more than the specified max of answers - if mode != "RTXKG2": - log.debug(f"For {qedge_key}, pre-prune threshold is {pre_prune_threshold}") - fulfilled_qnode_keys = set(one_hop_qg.nodes).intersection(set(overarching_kg.nodes_by_qg_id)) - for qnode_key in fulfilled_qnode_keys: - num_kg_nodes = len(overarching_kg.nodes_by_qg_id[qnode_key]) - if num_kg_nodes > pre_prune_threshold: - if inferred_qedge_keys and len(inferred_qedge_keys) == 1: - overarching_kg = self._prune_kg(qnode_key, pre_prune_threshold, overarching_kg, message.query_graph, log) - else: - overarching_kg = self._prune_kg(qnode_key, pre_prune_threshold, overarching_kg, query_graph, log) - # Re-formulate the QG for this edge now that the KG has been slimmed down - one_hop_qg = self._get_query_graph_for_edge(qedge_key, query_graph, overarching_kg, log) + log.debug(f"For {qedge_key}, pre-prune threshold is {pre_prune_threshold}") + fulfilled_qnode_keys = set(one_hop_qg.nodes).intersection(set(overarching_kg.nodes_by_qg_id)) + for qnode_key in fulfilled_qnode_keys: + num_kg_nodes = len(overarching_kg.nodes_by_qg_id[qnode_key]) + if num_kg_nodes > pre_prune_threshold: + if inferred_qedge_keys and len(inferred_qedge_keys) == 1: + overarching_kg = self._prune_kg(qnode_key, pre_prune_threshold, overarching_kg, message.query_graph, log) + else: + overarching_kg = self._prune_kg(qnode_key, pre_prune_threshold, overarching_kg, query_graph, log) + # Re-formulate the QG for this edge now that the KG has been slimmed down + one_hop_qg = self._get_query_graph_for_edge(qedge_key, query_graph, overarching_kg, log) if log.status != 'OK': return response @@ -397,19 +370,16 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): # Figure out which KPs would be best to expand this edge with (if no KP was specified) if not user_specified_kp: - if mode == "RTXKG2": - kps_to_query = {"infores:rtx-kg2"} - else: - queriable_kps = set(kp_selector.get_kps_for_single_hop_qg(one_hop_qg)) - # remove kps if this edge has kp constraints - allowlist, denylist = eu.get_knowledge_source_constraints(qedge) - kps_to_query = queriable_kps - denylist - if allowlist: - kps_to_query = {kp for kp in kps_to_query if kp in allowlist} + queriable_kps = set(kp_selector.get_kps_for_single_hop_qg(one_hop_qg)) + # remove kps if this edge has kp constraints + allowlist, denylist = eu.get_knowledge_source_constraints(qedge) + kps_to_query = queriable_kps - denylist + if allowlist: + kps_to_query = {kp for kp in kps_to_query if kp in allowlist} - for skipped_kp in queriable_kps.difference(kps_to_query): - skipped_message = "This KP was constrained by this edge" - response.update_query_plan(qedge_key, skipped_kp, "Skipped", skipped_message) + for skipped_kp in queriable_kps.difference(kps_to_query): + skipped_message = "This KP was constrained by this edge" + response.update_query_plan(qedge_key, skipped_kp, "Skipped", skipped_message) log.info(f"Expand decided to use {len(kps_to_query)} KPs to answer {qedge_key}: {kps_to_query}") else: @@ -419,11 +389,8 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): response.update_query_plan(qedge_key, kp, "Skipped", skipped_message) kps_to_query = list(kps_to_query) - # Use a non-concurrent method to expand with KG2 when bypassing the KG2 API - if kps_to_query == ["infores:rtx-kg2"] and mode == "RTXKG2": - kp_answers = [self._expand_edge_kg2_local(one_hop_qg, log)] - # Otherwise concurrently send this query to each KP selected to answer it - elif kps_to_query: + # Concurrently send this query to the KPs selected to answer it + if kps_to_query: kps_to_query = eu.sort_kps_for_asyncio(kps_to_query, log) log.debug(f"Will use asyncio to run KP queries concurrently") loop = asyncio.new_event_loop() # Need to create NEW event loop for threaded environments @@ -432,11 +399,10 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): kp_to_use, user_specified_kp, kp_timeout, - force_local, kp_selector, log, multiple_kps=True, - alter_kg2_treats_edges=alter_kg2_treats_edges) + be_creative_treats=be_creative_treats) for kp_to_use in kps_to_query] task_group = asyncio.gather(*tasks) kp_answers = loop.run_until_complete(task_group) @@ -451,12 +417,12 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): for index, response_tuple in enumerate(kp_answers): answer_kg = response_tuple[0] # Store any kryptonite edge answers as needed - if mode != "RTXKG2" and qedge.exclude and not answer_kg.is_empty(): + if qedge.exclude and not answer_kg.is_empty(): self._store_kryptonite_edge_info(answer_kg, qedge_key, message.query_graph, message.encountered_kryptonite_edges_info, response) # Otherwise just merge the answer into the overarching KG else: - self._merge_answer_into_message_kg(answer_kg, overarching_kg, message.query_graph, query_graph, mode, response) + self._merge_answer_into_message_kg(answer_kg, overarching_kg, message.query_graph, query_graph, response) if response.status != 'OK': return response log.debug(f"After merging KPs' answers, total KG counts are: {eu.get_printable_counts_by_qg_id(overarching_kg)}") @@ -508,28 +474,67 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): for kedge_key in kedges_to_remove: if kedge_key in overarching_kg.edges_by_qg_id[qedge_key]: del overarching_kg.edges_by_qg_id[qedge_key][kedge_key] - # Remove KG2 SemMedDB treats_or_applied-type edges if this is an inferred treats query - if alter_kg2_treats_edges: + # Handle Expand's creative treats predicate answers + if be_creative_treats and qedge_key in overarching_kg.edges_by_qg_id: # Skip if no answers + # First remove any SemMedDB treats_or_applied-type edges (not trustworthy) edge_keys_to_remove = {edge_key for edge_key, edge in overarching_kg.edges_by_qg_id[qedge_key].items() - if edge.predicate in self.higher_level_treats_predicates and - any(source.resource_id == "infores:rtx-kg2" for source in edge.sources) and + if edge.predicate in self.treats_like_predicates and any(source.resource_id == "infores:semmeddb" for source in edge.sources)} - log.debug(f"Removing {len(edge_keys_to_remove)} KG2 semmeddb treats_or_applied-type edges " + log.debug(f"Removing {len(edge_keys_to_remove)} semmeddb treats_or_applied-type edges " f"fulfilling {qedge_key}") for edge_key in edge_keys_to_remove: del overarching_kg.edges_by_qg_id[qedge_key][edge_key] - if mode != "RTXKG2": - # Apply any kryptonite ("not") qedges - self._apply_any_kryptonite_edges(overarching_kg, message.query_graph, - message.encountered_kryptonite_edges_info, response) - # Remove any paths that are now dead-ends - if inferred_qedge_keys and len(inferred_qedge_keys) == 1: - overarching_kg = self._remove_dead_end_paths(message.query_graph, overarching_kg, response) - else: - overarching_kg = self._remove_dead_end_paths(query_graph, overarching_kg, response) - if response.status != 'OK': - return response + # Use remaining treats-like edges as support for one merged 'treats' edge (per subj/obj pair) + higher_level_treats_edges = {edge_key: edge + for edge_key, edge in overarching_kg.edges_by_qg_id[qedge_key].items() + if edge.predicate in self.treats_like_predicates} + if higher_level_treats_edges: + # Add a virtual edge to the QG to capture all higher-level treats edges ('support' edges) + virtual_qedge_key = f"creative_expand_treats_{qedge_key}" + virtual_qedge = QEdge(subject=qedge.subject, + object=qedge.object, + option_group_id=f"creative_expand_treats_group_{qedge_key}") + virtual_qedge.filled = True # Resultify needs this flag + message.query_graph.edges[virtual_qedge_key] = virtual_qedge + overarching_kg.edges_by_qg_id[virtual_qedge_key] = dict() + + # Lump the higher-level treats edges together by subject/object + subj_obj_map = defaultdict(set) + for higher_treats_edge_key, higher_treats_edge in higher_level_treats_edges.items(): + hash_key = (higher_treats_edge.subject, higher_treats_edge.object) + subj_obj_map[hash_key].add(higher_treats_edge_key) + + for (subj_key, obj_key), higher_treats_edge_keys in subj_obj_map.items(): + # Create a lumped edge to represent all of these edges + lumped_edge = Edge(subject=subj_key, object=obj_key, predicate="biolink:treats", + sources=[RetrievalSource(resource_id="infores:arax", + resource_role="primary_knowledge_source")], + attributes=[Attribute(attribute_type_id="biolink:agent_type", + value="automated_agent", + attribute_source="infores:arax"), + Attribute(attribute_type_id="biolink:knowledge_level", + value="prediction", + attribute_source="infores:arax")]) + lumped_edge_key = f"creative_expand_treats_edge:{subj_key}--treats--{obj_key}--infores:arax" + overarching_kg.edges_by_qg_id[qedge_key][lumped_edge_key] = lumped_edge + + # Move the higher-level treats edges so that they fulfill the virtual qedge instead + for higher_treats_edge_key in higher_treats_edge_keys: + higher_treats_edge = overarching_kg.edges_by_qg_id[qedge_key][higher_treats_edge_key] + overarching_kg.edges_by_qg_id[virtual_qedge_key][higher_treats_edge_key] = higher_treats_edge + del overarching_kg.edges_by_qg_id[qedge_key][higher_treats_edge_key] + + # Apply any kryptonite ("not") qedges + self._apply_any_kryptonite_edges(overarching_kg, message.query_graph, + message.encountered_kryptonite_edges_info, response) + # Remove any paths that are now dead-ends + if inferred_qedge_keys and len(inferred_qedge_keys) == 1: + overarching_kg = self._remove_dead_end_paths(message.query_graph, overarching_kg, response) + else: + overarching_kg = self._remove_dead_end_paths(query_graph, overarching_kg, response) + if response.status != 'OK': + return response # Declare that we are done expanding this qedge response.update_query_plan(qedge_key, 'edge_properties', 'status', 'Done') @@ -556,15 +561,13 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): answer_kg = self._expand_node(qnode_key, kps_to_use, query_graph, - mode, user_specified_kp, kp_timeout, - force_local, log, self.plover_url) if log.status != 'OK': return response - self._merge_answer_into_message_kg(answer_kg, overarching_kg, message.query_graph, query_graph, mode, log) + self._merge_answer_into_message_kg(answer_kg, overarching_kg, message.query_graph, query_graph, log) if log.status != 'OK': return response @@ -579,41 +582,13 @@ def apply(self, response, input_parameters, mode: str = "ARAX"): message.knowledge_graph = eu.convert_qg_organized_kg_to_standard_kg(overarching_kg) # Decorate all nodes with additional attributes info from KG2c if requested (iri, description, etc.) - if mode != "RTXKG2" or not parameters.get("return_minimal_metadata"): + if not parameters.get("return_minimal_metadata"): decorator = ARAXDecorator() - decorator.decorate_nodes(response) - decorator.decorate_edges(response, kind="RTX-KG2") - - # Override node types to only include descendants of what was asked for in the QG (where applicable) #1360 - self._override_node_categories(message.knowledge_graph, message.query_graph, log) - elif mode == "RTXKG2": - decorator = ARAXDecorator() - decorator.decorate_edges(response, kind="SEMMEDDB") - - # Second half of patch for #2328; edit KG2 'treats_or_applied_or_studied_to_treat' edges to just 'treats' - if mode != "RTXKG2" and do_issue_2328_patch and inferred_qedge_keys: - num_edges_altered = 0 - for edge in message.knowledge_graph.edges.values(): - is_kg2_edge = any(source.resource_id == "infores:rtx-kg2" for source in edge.sources) - if is_kg2_edge and edge.predicate in self.higher_level_treats_predicates: - # Record the original KG2 predicate in an attribute - edge.attributes.append(Attribute(attribute_type_id="biolink:original_predicate", - value=edge.predicate, - value_type_id="biolink:predicate", - description="Predicate as it appears in RTX-KG2, prior to " - "alteration by ARAX.", - attribute_source="infores:arax")) - # Then change the predicate to treats - edge.predicate = "biolink:treats" - num_edges_altered += 1 - if num_edges_altered: - log.info(f"Modified the predicate of {num_edges_altered} KG2 edges to biolink:treats") + decorator.decorate_nodes(response, only_decorate_bare=True) # Map canonical curies back to the input curies in the QG (where applicable) #1622 self._map_back_to_input_curies(message.knowledge_graph, query_graph, log) - if mode == "RTXKG2": - eu.remove_semmeddb_edges_and_nodes_with_low_publications(message.knowledge_graph, response) - overarching_kg = eu.convert_standard_kg_to_qg_organized_kg(message.knowledge_graph) + # Return the response and done kg = message.knowledge_graph log.info(f"After Expand, the KG has {len(kg.nodes)} nodes and {len(kg.edges)} edges " @@ -642,22 +617,37 @@ def get_inferred_answers(inferred_qedge_keys: List[str], if object_qnode.ids and len(object_qnode.ids) >= 1: object_curie = object_qnode.ids[0] # FIXME: will need a way to handle multiple IDs else: + # object_curie = None response.error(f"No CURIEs found for qnode {qedge.object}; ARAXInfer/XDTD requires that the" - f" object qnode has 'ids' specified", error_code="NoCURIEs") - # raise Exception(f"No CURIEs found for {object_qnode.name}") + f" object qnode has 'ids' specified", error_code="NoCURIEs") return response, overarching_kg if subject_qnode.ids and len(subject_qnode.ids) >= 1: - subject_curie = subject_qnode.ids # FIXME: will need a way to handle multiple IDs + subject_curie = subject_qnode.ids[0] # FIXME: will need a way to handle multiple IDs else: subject_curie = None - response.info(f"Calling XDTD from Expand for qedge {inferred_qedge_key} (has knowledge_type == inferred) and the subject is {object_curie}") + + # Check if the existence of subject_curie and object_curie + if not subject_curie and not object_curie: + response.error(f"No CURIEs found for both query subject node {qedge.subject} and query object node {qedge.object}; ARAXInfer/XDTD requires " + f"that at least subject qnode or object qnode has 'ids' specified", + error_code="NoCURIEs") + return response, overarching_kg + + if subject_curie and object_curie: + response.info(f"Calling XDTD from Expand for qedge {inferred_qedge_key} (has knowledge_type == inferred) and the subject is {subject_curie} and the object is {object_curie}") + elif subject_curie: + response.warning(f"Currently ARAXInfer/XDTD disables 'given a drug CURIE, it predicts predicts what potential disease this drug can treat'.") + # response.info(f"Calling XDTD from Expand for qedge {inferred_qedge_key} (has knowledge_type == inferred) and the subject is {subject_curie}") + else: + response.info(f"Calling XDTD from Expand for qedge {inferred_qedge_key} (has knowledge_type == inferred) and the object is {object_curie}") + response.update_query_plan(inferred_qedge_key, "arax-xdtd", "Waiting", f"Waiting for response") start = time.time() from ARAX_infer import ARAXInfer infer_input_parameters = {"action": "drug_treatment_graph_expansion", - 'node_curie': object_curie, 'qedge_id': inferred_qedge_key, + 'disease_curie': object_curie, 'qedge_id': inferred_qedge_key, 'drug_curie': subject_curie} inferer = ARAXInfer() infer_response = inferer.apply(response, infer_input_parameters) @@ -752,11 +742,10 @@ async def _expand_edge_async(self, edge_qg: QueryGraph, kp_to_use: str, user_specified_kp: bool, kp_timeout: Optional[int], - force_local: bool, kp_selector: KPSelector, log: ARAXResponse, multiple_kps: bool = False, - alter_kg2_treats_edges: bool = False) -> Tuple[QGOrganizedKnowledgeGraph, ARAXResponse]: + be_creative_treats: bool = False) -> Tuple[QGOrganizedKnowledgeGraph, ARAXResponse]: # This function answers a single-edge (one-hop) query using the specified knowledge provider qedge_key = next(qedge_key for qedge_key in edge_qg.edges) log.info(f"Expanding qedge {qedge_key} using {kp_to_use}") @@ -780,10 +769,9 @@ async def _expand_edge_async(self, edge_qg: QueryGraph, kp_name=kp_to_use, user_specified_kp=user_specified_kp, kp_timeout=kp_timeout, - kp_selector=kp_selector, - force_local=force_local) + kp_selector=kp_selector) answer_kg = await kp_querier.answer_one_hop_query_async(edge_qg, - alter_kg2_treats_edges=alter_kg2_treats_edges) + be_creative_treats=be_creative_treats) except Exception: tb = traceback.format_exc() error_type, error, _ = sys.exc_info() @@ -812,36 +800,12 @@ async def _expand_edge_async(self, edge_qg: QueryGraph, return answer_kg, log - def _expand_edge_kg2_local(self, one_hop_qg: QueryGraph, log: ARAXResponse) -> Tuple[QGOrganizedKnowledgeGraph, ARAXResponse]: - qedge_key = next(qedge_key for qedge_key in one_hop_qg.edges) - log.debug(f"Expanding {qedge_key} by querying Plover directly") - answer_kg = QGOrganizedKnowledgeGraph() - - kg2_querier = KG2Querier(log, self.plover_url) - try: - answer_kg = kg2_querier.answer_one_hop_query(one_hop_qg) - except Exception: - tb = traceback.format_exc() - error_type, error, _ = sys.exc_info() - log.error(f"An uncaught error was thrown while trying to Expand using infores:rtx-kg2 (local). Error was: {tb}", - error_code=f"UncaughtError") - - if log.status != 'OK': - return answer_kg, log - - if any(edges for edges in answer_kg.edges_by_qg_id.values()): # Make sure the KP actually returned something - answer_kg = self._remove_self_edges(answer_kg, "infores:rtx-kg2", log) - - return answer_kg, log - @staticmethod def _expand_node(qnode_key: str, kps_to_use: List[str], query_graph: QueryGraph, - mode: str, user_specified_kp: bool, kp_timeout: Optional[int], - force_local: bool, log: ARAXResponse, url: str) -> QGOrganizedKnowledgeGraph: # This function expands a single node using the specified knowledge provider (for now only KG2 is supported) @@ -857,14 +821,10 @@ def _expand_node(qnode_key: str, # Answer the query using the proper KP (only our own KP answers single-node queries for now) if kps_to_use == ["infores:rtx-kg2"]: - if mode == 'RTXKG2': - kp_querier = KG2Querier(log, url) - else: - kp_querier = TRAPIQuerier(response_object=log, - kp_name=kps_to_use[0], - user_specified_kp=user_specified_kp, - kp_timeout=kp_timeout, - force_local=force_local) + kp_querier = TRAPIQuerier(response_object=log, + kp_name=kps_to_use[0], + user_specified_kp=user_specified_kp, + kp_timeout=kp_timeout) answer_kg = kp_querier.answer_single_node_query(single_node_qg) log.info(f"Query for node {qnode_key} returned results ({eu.get_printable_counts_by_qg_id(answer_kg)})") return answer_kg @@ -1008,7 +968,7 @@ def _extract_query_subgraph(qedge_keys_to_expand: List[str], query_graph: QueryG @staticmethod def _merge_answer_into_message_kg(answer_kg: QGOrganizedKnowledgeGraph, overarching_kg: QGOrganizedKnowledgeGraph, - overarching_qg: QueryGraph, expands_qg: QueryGraph, mode: str, log: ARAXResponse): + overarching_qg: QueryGraph, expands_qg: QueryGraph, log: ARAXResponse): # This function merges an answer KG (from the current edge/node expansion) into the overarching KG log.debug("Merging answer into Message.KnowledgeGraph") pinned_curies_map = defaultdict(set) @@ -1023,7 +983,7 @@ def _merge_answer_into_message_kg(answer_kg: QGOrganizedKnowledgeGraph, overarch for qnode_key, nodes in answer_kg.nodes_by_qg_id.items(): for node_key, node in nodes.items(): # Exclude nodes that correspond to a 'pinned' curie in the QG but are fulfilling a different qnode - if mode != "RTXKG2" and node_key in pinned_curies_map: + if node_key in pinned_curies_map: if qnode_key in pinned_curies_map[node_key]: overarching_kg.add_node(node_key, node, qnode_key) else: @@ -1400,31 +1360,6 @@ def _load_fda_approved_drug_ids() -> Set[str]: fda_approved_drug_ids = pickle.load(fda_pickle) return fda_approved_drug_ids - def _override_node_categories(self, kg: KnowledgeGraph, qg: QueryGraph, log: ARAXResponse): - # Clean up what we list as the TRAPI node.categories; list descendants of what was asked for in the QG - log.debug(f"Overriding node categories to better align with what's in the QG") - qnode_descendant_categories_map = {qnode_key: set(self.bh.get_descendants(qnode.categories)) - for qnode_key, qnode in qg.nodes.items() if qnode.categories} - for node_key, node in kg.nodes.items(): - final_categories = set() - for qnode_key in node.qnode_keys: - # If qnode has categories specified, use node's all_categories that are descendants of qnode categories - if qnode_key in qnode_descendant_categories_map: - all_categories_attributes = [attribute for attribute in eu.convert_to_list(node.attributes) - if attribute.attribute_type_id == "biolink:category"] - node_categories = all_categories_attributes[0].value if all_categories_attributes else node.categories - relevant_categories = set(node_categories).intersection(qnode_descendant_categories_map[qnode_key]) - # Otherwise just use what's already in the node's categories (for KG2 this is the 'preferred' category) - else: - relevant_categories = set(node.categories) - final_categories = final_categories.union(relevant_categories) - if final_categories: - node.categories = list(final_categories) - else: - # Leave categories as they are but issue a warning - log.warning(f"None of the categories KPs gave node {node_key} ({node.categories}) are descendants of " - f"those asked for in the QG (for qnode {node.qnode_keys})") - @staticmethod def _map_back_to_input_curies(kg: KnowledgeGraph, qg: QueryGraph, log: ARAXResponse): """ diff --git a/code/ARAX/ARAXQuery/ARAX_filter.py b/code/ARAX/ARAXQuery/ARAX_filter.py index e718a9779..98ace21a1 100644 --- a/code/ARAX/ARAXQuery/ARAX_filter.py +++ b/code/ARAX/ARAXQuery/ARAX_filter.py @@ -167,10 +167,10 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() - message_dict = araxdb.getMessage(2) + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../OpenAPI/python-flask-server/") diff --git a/code/ARAX/ARAXQuery/ARAX_filter_kg.py b/code/ARAX/ARAXQuery/ARAX_filter_kg.py index 6abfc45e7..0aef1585e 100644 --- a/code/ARAX/ARAXQuery/ARAX_filter_kg.py +++ b/code/ARAX/ARAXQuery/ARAX_filter_kg.py @@ -1525,9 +1525,9 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() #message_dict = araxdb.getMessage(2) # acetaminophen2proteins graph # message_dict = araxdb.getMessage(13) # ibuprofen -> proteins -> disease # work computer @@ -1535,7 +1535,7 @@ def main(): # message_dict = araxdb.getMessage(16) # atherosclerosis -> phenotypic_feature # work computer # message_dict = araxdb.getMessage(5) # atherosclerosis -> phenotypic_feature # home computer # message_dict = araxdb.getMessage(10) - message_dict = araxdb.getMessage(40) + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects from ARAX_messenger import ARAXMessenger diff --git a/code/ARAX/ARAXQuery/ARAX_filter_results.py b/code/ARAX/ARAXQuery/ARAX_filter_results.py index 97469f40a..0c3778982 100644 --- a/code/ARAX/ARAXQuery/ARAX_filter_results.py +++ b/code/ARAX/ARAXQuery/ARAX_filter_results.py @@ -942,9 +942,9 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() #message_dict = araxdb.getMessage(2) # acetaminophen2proteins graph # message_dict = araxdb.getMessage(13) # ibuprofen -> proteins -> disease # work computer @@ -952,7 +952,7 @@ def main(): # message_dict = araxdb.getMessage(16) # atherosclerosis -> phenotypic_feature # work computer # message_dict = araxdb.getMessage(5) # atherosclerosis -> phenotypic_feature # home computer # message_dict = araxdb.getMessage(10) - message_dict = araxdb.getMessage(40) + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects from ARAX_messenger import ARAXMessenger diff --git a/code/ARAX/ARAXQuery/ARAX_infer.py b/code/ARAX/ARAXQuery/ARAX_infer.py index b2be0e7a9..e23324500 100644 --- a/code/ARAX/ARAXQuery/ARAX_infer.py +++ b/code/ARAX/ARAXQuery/ARAX_infer.py @@ -27,6 +27,9 @@ def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) from openapi_server.models.edge import Edge from openapi_server.models.attribute import Attribute as EdgeAttribute from openapi_server.models.node import Node +from openapi_server.models.qualifier import Qualifier +from openapi_server.models.qualifier_constraint import QualifierConstraint as QConstraint + sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'NodeSynonymizer'])) from node_synonymizer import NodeSynonymizer @@ -36,6 +39,7 @@ def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) # from creativeDTD import creativeDTD from creativeCRG import creativeCRG from ExplianableDTD_db import ExplainableDTD + # from ExplianableCRG import ExplianableCRG # sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code'])) @@ -64,18 +68,37 @@ def __init__(self): self.report_stats = True # Set this to False when ready to go to production, this is only for debugging purposes #parameter descriptions - self.xdtd_node_curie_info = { + self.xdtd_drug_curie_info = { + "is_required": True, + "examples": ["CHEMBL.COMPOUND:CHEMBL55643","CHEBI:8378","RXNORM:1011"], + "type": "string", + "description": "The CURIE for a drug node used to predict what potential diseases it may treat." + } + self.xdtd_disease_curie_info = { "is_required": True, "examples": ["DOID:9352","MONDO:0005306","HP:0001945"], "type": "string", - "description": "The curie for the node you wish to predict drugs which will treat." + "description": "The CURIE for a disease node used to predict what potential drugs can potentially treat it." + } + self.xdtd_qedge_id_info = { + "is_required": False, + "examples": ["qedge_id_1","qedge_id_2","qedge_id_3"], + "type": "string", + "description": "The id of the qedge you wish to perform the drug-disease treatment inference expansion." } self.xdtd_n_drugs_info = { "is_required": False, "examples": [5,15,25], "default": 50, "type": "integer", - "description": "The number of drug nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of drugs returned is only allowed to be 50." + "description": "Given an interested disease CURIE, the number of drug nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of drugs returned is only allowed to be 50." + } + self.xdtd_n_diseases_info = { + "is_required": False, + "examples": [5,15,25], + "default": 50, + "type": "integer", + "description": "Given an interested drug CURIE, The number of disease nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of diseases returned is only allowed to be 50." } self.xdtd_n_paths_info = { "is_required": False, @@ -108,6 +131,12 @@ def __init__(self): "type": "string", "description": "The query graph node ID of a gene. **Note that although this parameter is said to be required, this parameter is valid only when a query graph is used. Additionally, exactly one of 'subject_qnode_id' or 'object_qnode_id' is required when a query graph is used.**" } + self.xcrg_qedge_id_info = { + "is_required": False, + "examples": ["qedge_id_1","qedge_id_2","qedge_id_3"], + "type": "string", + "description": "The id of the qedge you wish to perform the chemical-gene regulation inference expansion." + } self.xcrg_regulation_type = { "is_required": False, "examples": ["n01","n02"], @@ -149,12 +178,6 @@ def __init__(self): "default": 10, "type": "integer", "description": "The number of paths connecting to each returned node. If not provided defaults to 10." - } - self.qedge_id_info = { - "is_required": False, - "examples": ["qedge_id_1","qedge_id_2","qedge_id_3"], - "type": "string", - "description": "The id of the qedge you wish to perform the drug treatment/chemical regulation inference expansion." } #command descriptions @@ -162,19 +185,24 @@ def __init__(self): "drug_treatment_graph_expansion": { "dsl_command": "infer(action=drug_treatment_graph_expansion)", "description": """ -`drug_treatment_graph_expansion` predicts drug treatments for a given disease curie. It returns the top n results along with predicted graph explanations. +`drug_treatment_graph_expansion` predicts drug-disease treatment relationship including: + 1. Given an interested 'drug' CURIE, it predicts what potential 'disease' this drug can treat (currently disable). + 2. Given an interested 'disease' CURIE, it predicts what potential 'drug' can treat this disease. + 3. Given both an interested 'drug' CURIE and a 'disease' CURIE, it predicts whether they have a treatment relationship. + +It returns the top n results along with predicted graph explanations. You have the option to limit the maximum number of disease (via `n_diseases=`)/drug (via `n_drugs=`) nodes to return. -You have the option to limit the maximum number of drug nodes to return (via `n_drugs=`) - -This cannot be applied to non disease/phenotypic feature nodes (nodes that do not belong to either of 'biolink:biolink:Disease', 'biolink:PhenotypicFeature', or 'biolink:DiseaseOrPhenotypicFeature'). +This cannot be applied to non drug nodes (nodes that do not belong to either of 'biolink:biolink:Drug', 'biolink:ChemicalEntity', or 'biolink:SmallMolecule'), and non disease/phenotypic feature nodes (nodes that do not belong to either of 'biolink:biolink:Disease', 'biolink:PhenotypicFeature', or 'biolink:DiseaseOrPhenotypicFeature'). """, 'brief_description': """ drug_treatment_graph_expansion predicts drug treatments for a given node curie and provides along with an explination graph for each prediction. """, "parameters": { - "node_curie": self.xdtd_node_curie_info, - "qedge_id": self.qedge_id_info, + "drug_curie": self.xdtd_drug_curie_info, + "disease_curie": self.xdtd_disease_curie_info, + "qedge_id": self.xdtd_qedge_id_info, "n_drugs": self.xdtd_n_drugs_info, + "n_diseases": self.xdtd_n_diseases_info, "n_paths": self.xdtd_n_paths_info } }, @@ -197,7 +225,7 @@ def __init__(self): "object_curie": self.xcrg_object_curie_info, "subject_qnode_id": self.xcrg_subject_qnode_id, "object_qnode_id": self.xcrg_object_qnode_id, - "qedge_id": self.qedge_id_info, + "qedge_id": self.xcrg_qedge_id_info, "threshold": self.xcrg_threshold, "kp": self.xcrg_kp, "path_len": self.xcrg_path_len, @@ -265,8 +293,6 @@ def check_params(self, allowable_parameters): error_code="UnknownParameter") return -1 elif type(item) == list or type(item) == set: - if key == 'drug_curie': - continue for item_val in item: if item_val not in allowable_parameters[key]: self.response.error( @@ -279,9 +305,9 @@ def check_params(self, allowable_parameters): continue elif any([x is None for x in allowable_parameters[key]]): continue - elif key == "node_curie": #FIXME: For now, if it's a node curie, just accept it as it is + elif key == "drug_curie": #FIXME: For now, if it's a node curie, just accept it as it is continue - elif key == "drug_curie": + elif key == "disease_curie": #FIXME: same as above continue elif key == "subject_curie": #FIXME: same as above continue @@ -349,10 +375,11 @@ def apply(self, response, input_parameters): def __drug_treatment_graph_expansion(self, describe=False): """ Run "drug_treatment_graph_expansion" action. - Allowable parameters: {'node_curie': str, - 'drug_curie': list + Allowable parameters: {'drug_curie': str, + 'disease_curie': str, 'qedge_id': str, - 'n_drugs': int + 'n_drugs': int, + 'n_diseases': int, 'n_paths': int} :return: """ @@ -363,18 +390,20 @@ def __drug_treatment_graph_expansion(self, describe=False): # make a list of the allowable parameters (keys), and their possible values (values). Note that the action and corresponding name will always be in the allowable parameters if message and parameters and hasattr(message, 'query_graph') and hasattr(message.query_graph, 'nodes'): allowable_parameters = {'action': {'drug_treatment_graph_expansion'}, - 'node_curie': {str()}, 'drug_curie': {str()}, + 'disease_curie': {str()}, 'qedge_id': set([key for key in self.message.query_graph.edges.keys()]), 'n_drugs': {int()}, + 'n_diseases': {int()}, 'n_paths': {int()} } else: allowable_parameters = {'action': {'drug_treatment_graph_expansion'}, - 'node_curie': {'The node to predict drug treatments for.'}, - 'drug_curie': {'This node contains a list of drug curies for which xDTD will try to find the path for between node_curie and itself'}, + 'drug_curie': {'The drug CURIE used to predict what potential diseases it may treat.'}, + 'disease_curie': {'The disease CURIE used to predict what potential drugs can potentially treat it.'}, 'qedge_id': {'The edge to place the predicted mechanism of action on. If none is provided, the query graph must be empty and a new one will be inserted.'}, 'n_drugs': {'The number of drugs to return. Defaults to 50. Maxiumum is only allowable to be 50.'}, + 'n_diseases': {'The number of diseases to return. Defaults to 50. Maxiumum is only allowable to be 50.'}, 'n_paths': {'The number of paths connecting each drug to return. Defaults to 25. Maxiumum is only allowable to be 25.'} } @@ -382,125 +411,191 @@ def __drug_treatment_graph_expansion(self, describe=False): if describe: allowable_parameters['brief_description'] = self.command_definitions['connect_nodes'] return allowable_parameters - # Make sure only allowable parameters and values have been passed resp = self.check_params(allowable_parameters) - # Make sure that if ARAXi node_curie is provided, that node is actually in the query graph - if 'node_curie' in parameters and parameters['node_curie'] and hasattr(message, 'query_graph') and hasattr(message.query_graph, 'nodes') and message.query_graph.nodes: - ids_in_qg = set() - for node in message.query_graph.nodes.values(): - if node.ids: - ids_in_qg.update(node.ids) - if parameters['node_curie'] not in ids_in_qg: - self.response.error(f"Supplied node_curie {parameters['node_curie']} is not in the query graph. I was given the curies: {ids_in_qg}", error_code="UnknownNode") - return self.response - # return if bad parameters have been passed - if self.response.status != 'OK' or resp == -1: - return self.response - + # Set defaults and check parameters: - if 'n_drugs' in self.parameters: + if 'n_drugs' in parameters and parameters['n_drugs']: try: - self.parameters['n_drugs'] = int(self.parameters['n_drugs']) + parameters['n_drugs'] = int(parameters['n_drugs']) except ValueError: - self.response.error(f"The `n_drugs` value must be a positive integer. The provided value was {self.parameters['n_drugs']}.", error_code="ValueError") - if self.parameters['n_drugs'] <= 0: - self.response.error(f"The `n_drugs` value should be larger than 0. The provided value was {self.parameters['n_drugs']}.", error_code="ValueError") - if self.parameters['n_drugs'] > 50: - self.response.warning(f"The `n_drugs` value was set to {self.parameters['n_drugs']}, but the maximum allowable value is 50. Setting `n_drugs` to 50.") - self.parameters['n_drugs'] = 50 + self.response.error(f"The `n_drugs` value must be a positive integer. The provided value was {parameters['n_drugs']}.", error_code="ValueError") + if parameters['n_drugs'] <= 0: + self.response.error(f"The `n_drugs` value should be larger than 0. The provided value was {parameters['n_drugs']}.", error_code="ValueError") + if parameters['n_drugs'] > 50: + self.response.warning(f"The `n_drugs` value was set to {parameters['n_drugs']}, but the maximum allowable value is 50. Setting `n_drugs` to 50.") + parameters['n_drugs'] = 50 else: - self.parameters['n_drugs'] = 50 + parameters['n_drugs'] = 50 - if 'n_paths' in self.parameters: + if 'n_diseases' in parameters and parameters['n_diseases']: try: - self.parameters['n_paths'] = int(self.parameters['n_paths']) + parameters['n_diseases'] = int(parameters['n_diseases']) except ValueError: - self.response.error(f"The `n_paths` value must be a positive integer. The provided value was {self.parameters['n_paths']}.", error_code="ValueError") - if self.parameters['n_paths'] <= 0: - self.response.error(f"The `n_paths` value should be larger than 0. The provided value was {self.parameters['n_paths']}.", error_code="ValueError") - if self.parameters['n_paths'] > 25: - self.response.warning(f"The `n_paths` value was set to {self.parameters['n_paths']}, but the maximum allowable value is 25. Setting `n_paths` to 25.") - self.parameters['n_paths'] = 25 + self.response.error(f"The `n_diseases` value must be a positive integer. The provided value was {parameters['n_diseases']}.", error_code="ValueError") + if parameters['n_diseases'] <= 0: + self.response.error(f"The `n_diseases` value should be larger than 0. The provided value was {parameters['n_diseases']}.", error_code="ValueError") + if parameters['n_diseases'] > 50: + self.response.warning(f"The `n_diseases` value was set to {parameters['n_diseases']}, but the maximum allowable value is 50. Setting `n_diseases` to 50.") + parameters['n_diseases'] = 50 else: - self.parameters['n_paths'] = 25 + parameters['n_diseases'] = 50 + + if 'n_paths' in parameters and parameters['n_paths']: + try: + parameters['n_paths'] = int(parameters['n_paths']) + except ValueError: + self.response.error(f"The `n_paths` value must be a positive integer. The provided value was {parameters['n_paths']}.", error_code="ValueError") + if parameters['n_paths'] <= 0: + self.response.error(f"The `n_paths` value should be larger than 0. The provided value was {parameters['n_paths']}.", error_code="ValueError") + if parameters['n_paths'] > 25: + self.response.warning(f"The `n_paths` value was set to {parameters['n_paths']}, but the maximum allowable value is 25. Setting `n_paths` to 25.") + parameters['n_paths'] = 25 + else: + parameters['n_paths'] = 25 if self.response.status != 'OK': return self.response - if 'drug_curie' not in self.parameters: - self.parameters['drug_curie'] = None - # normalized_curie = self.synonymizer.get_canonical_curies(self.parameters['node_curie'])[self.parameters['node_curie']] - # if normalized_curie: - # preferred_curie = normalized_curie['preferred_curie'] - # self.response.debug(f"Get a preferred sysnonym {preferred_curie} from Node Synonymizer for {self.parameters['node_curie']}") - # else: - # self.response.warning(f"Could not get a preferred sysnonym for disease {self.parameters['node_curie']}") - # return self.response - - #FIXME: Considering kg2 version is changed frequently but xdtd training is time consuming, - # to make it more robust to the different version of kg2, we temporarily utlize all equivalent curies. - all_equivalent_curies = self.synonymizer.get_equivalent_nodes(self.parameters['node_curie'])[self.parameters['node_curie']] - if all_equivalent_curies: - self.response.debug(f"Get equivalent curies {all_equivalent_curies} from Node Synonymizer for {self.parameters['node_curie']}") + # Make sure that if at least either drug_curie or disease_curie is provided. If provided, check if it/they also exist(s) in the query graph + if hasattr(message, 'query_graph') and hasattr(message.query_graph, 'nodes') and message.query_graph.nodes: + qnodes = message.query_graph.nodes + all_qnode_curie_ids = [] + for qnode_id in qnodes: + if qnodes[qnode_id].ids: + all_qnode_curie_ids += [curie_id for curie_id in qnodes[qnode_id].ids] + + if 'drug_curie' in parameters or 'disease_curie' in parameters: + if 'drug_curie' in parameters and parameters['drug_curie']: + if parameters['drug_curie'] in all_qnode_curie_ids: + drug_curie = parameters['drug_curie'] + normalized_drug_curie = self.synonymizer.get_canonical_curies(drug_curie)[drug_curie] + if normalized_drug_curie: + preferred_drug_curie = normalized_drug_curie['preferred_curie'] + else: + preferred_drug_curie = drug_curie + else: + self.response.error(f"Could not find drug_curie '{parameters['drug_curie']}' in the query graph") + return self.response + else: + preferred_drug_curie = None + + if 'disease_curie' in parameters and parameters['disease_curie']: + if parameters['disease_curie'] in all_qnode_curie_ids: + disease_curie = parameters['disease_curie'] + normalized_disease_curie = self.synonymizer.get_canonical_curies(disease_curie)[disease_curie] + if normalized_disease_curie: + preferred_disease_curie = normalized_disease_curie['preferred_curie'] + else: + preferred_disease_curie = disease_curie + else: + self.response.error(f"Could not find disease_curie '{parameters['disease_curie']}' in the query graph") + return self.response + else: + preferred_disease_curie = None + + if not preferred_drug_curie and not preferred_disease_curie: + self.response.error(f"Both parameters 'drug_curie' and 'disease_curie' are not provided. Please provide the curie for either one of them") + return self.response + qedges = message.query_graph.edges + + + else: + self.response.error(f"The 'query_graph' is detected. One of 'drug_curie' or 'disease_curie' should be specified.") + + for qedge in qedges: + edge = message.query_graph.edges[qedge] + edge.knowledge_type = "inferred" + edge.predicates = ["biolink:treats"] + else: - self.response.warning(f"Could not get equivalent curies for disease {self.parameters['node_curie']}") - return self.response - if self.parameters['drug_curie']: - - drug_equivalent_curies_dict = self.synonymizer.get_equivalent_nodes(self.parameters['drug_curie']) - drug_equivalent_curies = [] - for key,value in drug_equivalent_curies_dict.items(): - if not value: - continue - drug_equivalent_curies += list(value) + if 'drug_curie' in parameters or 'disease_curie' in parameters: + if 'drug_curie' in parameters: + parameters['drug_curie'] = eval(parameters['drug_curie']) if parameters['drug_curie'] == 'None' else parameters['drug_curie'] + if parameters['drug_curie']: + ## if 'drug_curie' passes, return its normalized curie + normalized_drug_curie = self.synonymizer.get_canonical_curies(parameters['drug_curie'])[parameters['drug_curie']] + if normalized_drug_curie: + preferred_drug_curie = normalized_drug_curie['preferred_curie'] + self.response.debug(f"Get a preferred sysnonym {preferred_drug_curie} from Node Synonymizer for drug curie {parameters['drug_curie']}") + else: + preferred_drug_curie = parameters['drug_curie'] + self.response.warning(f"Could not get a preferred sysnonym for the queried drug {parameters['drug_curie']} and thus keep it as it") + else: + preferred_drug_curie = None + else: + preferred_drug_curie = None + + if 'disease_curie' in parameters: + parameters['disease_curie'] = eval(parameters['disease_curie']) if parameters['disease_curie'] == 'None' else parameters['disease_curie'] + if parameters['disease_curie']: + ## if 'disease_curie' passes, return its normalized curie + normalized_disease_curie = self.synonymizer.get_canonical_curies(parameters['disease_curie'])[parameters['disease_curie']] + if normalized_disease_curie: + preferred_disease_curie = normalized_disease_curie['preferred_curie'] + self.response.debug(f"Get a preferred sysnonym {preferred_disease_curie} from Node Synonymizer for disease curie {parameters['disease_curie']}") + else: + preferred_disease_curie = parameters['disease_curie'] + self.response.warning(f"Could not get a preferred sysnonym for the queried disease {parameters['disease_curie']}") + else: + preferred_disease_curie = None + else: + preferred_disease_curie = None - [self.parameters['drug_curie']] - if drug_equivalent_curies: - self.response.debug(f"Get equivalent curies for Drug Curie {drug_equivalent_curies} from Node Synonymizer for {self.parameters['drug_curie']}") + if not preferred_drug_curie and not preferred_disease_curie: + self.response.error(f"Both parameters 'drug_curie' and 'disease_curie' are not provided. Please provide the curie for either one of them") + return self.response else: - self.response.warning(f"Could not get equivalent curies for Drug {self.parameters['drug_curie']}") + self.response.error(f"No 'query_graph' is found and thus either 'drug_curie' or 'disease_curie' should be specified.") + + # return if bad parameters have been passed + if self.response.status != 'OK' or resp == -1: + return self.response + + # disable 'given a drug, predict what potential diseases it may treat' + if preferred_drug_curie and not preferred_disease_curie: + self.response.warning(f"Given a drug, predict what potential diseases it may treat is currently disabled.") + return self.response + + try: + top_scores = XDTD.get_score_table(drug_curie_ids=preferred_drug_curie, disease_curie_ids=preferred_disease_curie) + top_paths = XDTD.get_top_path(drug_curie_ids=preferred_drug_curie, disease_curie_ids=preferred_disease_curie) + except Exception as e: + self.response.warning(f"Could not get top drugs and paths for drug {preferred_drug_curie} and disease {preferred_disease_curie}") + return self.response + + if preferred_drug_curie and preferred_disease_curie: + if len(top_scores) == 0: + self.response.warning(f"Could not get predicted scores for drug {preferred_drug_curie} and disease {preferred_disease_curie}. Likely the model was not trained with this drug-disease pair. Or No predicted score >=0.3 for this drug-disease pair.") return self.response - for preferred_curie in all_equivalent_curies: - try: - top_drugs = XDTD.get_top_drugs_for_disease(disease_ids=preferred_curie) - top_paths = XDTD.get_top_paths_for_disease(disease_ids=preferred_curie) - except: - self.response.warning(f"Could not get top drugs and paths for disease {preferred_curie}") - continue - - if len(top_drugs) == 0: - self.response.warning(f"Could not get predicted drugs for disease {preferred_curie}. Likely the model was not trained with this disease. Or No predicted drugs for this disease with score >= 0.5.") - continue if len(top_paths) == 0: - self.response.warning(f"Could not get any predicted paths for disease {preferred_curie}. Likely the model considers there is no reasonable path for this disease.") - - # FW: temp fix to use the pickle fil for dev work rather than recomputing - # Comment out the following 3 lines and uncomment the above for prod deploy - # top_drugs = pd.read_csv(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'ARAXQuery', 'Infer', 'data',"top_n_drugs.csv"])) - # with open(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'ARAXQuery', 'Infer', 'data',"result_from_self_predict_top_M_paths.pkl"]),"rb") as fid: - # top_paths = pickle.load(fid) - - ## Filter useless nodes - filtered_list = ['UMLS:C1611640'] - top_drugs = top_drugs.loc[~top_drugs['drug_id'].isin(filtered_list),:].reset_index(drop=True) + self.response.warning(f"Could not get any predicted paths for drug {preferred_drug_curie} and disease {preferred_disease_curie}. Likely the model considers there is no reasonable path for this drug-disease pair.") + elif preferred_drug_curie: + if len(top_scores) == 0: + self.response.warning(f"Could not get top diseases for drug {preferred_drug_curie}. Likely the model was not trained with this drug. Or No predicted diseses for this drug with score >= 0.3.") + return self.response + if len(top_paths) == 0: + self.response.warning(f"Could not get any predicted paths for drug {preferred_drug_curie}. Likely the model considers there is no reasonable path for this drug.") - ## Limit the number of drugs and paths to the top n - top_drugs = top_drugs.iloc[:self.parameters['n_drugs'],:].reset_index(drop=True) - top_paths = {(row[0], row[2]):top_paths[(row[0], row[2])][:self.parameters['n_paths']] for row in top_drugs.to_numpy() if (row[0], row[2]) in top_paths} - if self.parameters['drug_curie']: - drugs_set = set(top_drugs['drug_id']) - intersecting_drug_curies = list(drugs_set.intersection(drug_equivalent_curies)) - if not intersecting_drug_curies: - continue - top_drugs = top_drugs[top_drugs['drug_id'].isin(intersecting_drug_curies)].reset_index(drop=True) - - top_paths = {pair:path for pair,path in top_paths.items() if pair[0] in intersecting_drug_curies} - - # # TRAPI-ifies the results of the model - qedge_id = self.parameters.get('qedge_id') - self.response, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter = iu.genrete_treat_subgraphs(self.response, top_drugs, top_paths, qedge_id, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter) + # Limit the number of drugs to the top n + top_scores = top_scores.iloc[:parameters['n_drugs'],:].reset_index(drop=True) + elif preferred_disease_curie: + if len(top_scores) == 0: + self.response.warning(f"Could not get top drugs for disease {preferred_disease_curie}. Likely the model was not trained with this disease. Or No predicted drugs for this disease with score >= 0.3.") + return self.response + if len(top_paths) == 0: + self.response.warning(f"Could not get any predicted paths for disease {preferred_disease_curie}. Likely the model considers there is no reasonable path for this disease.") + + # Limit the number of diseases to the top n + top_scores = top_scores.iloc[:parameters['n_diseases'],:].reset_index(drop=True) + + # Limit the number of paths to the top n + top_paths = {(row[0], row[2]):top_paths[(row[0], row[2])][:parameters['n_paths']] for row in top_scores.to_numpy() if (row[0], row[2]) in top_paths} + + iu = InferUtilities() + qedge_id = parameters.get('qedge_id') + self.response, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter = iu.genrete_treat_subgraphs(self.response, top_scores, top_paths, qedge_id, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter) return self.response @@ -615,7 +710,7 @@ def __chemical_gene_regulation_graph_expansion(self, describe=False): f"The `n_result_curies` value must be a positive integer. The provided value was {self.parameters['n_result_curies']}.", error_code="ValueError") else: - self.parameters['n_result_curies'] = 10 + self.parameters['n_result_curies'] = 30 if 'n_paths' in self.parameters: if isinstance(self.parameters['n_paths'], str): @@ -678,9 +773,26 @@ def __chemical_gene_regulation_graph_expansion(self, describe=False): if not preferred_subject_curie and not preferred_object_curie: self.response.error(f"Both parameters 'subject_curie' and 'object_curie' are not provided. Please provide the curie for either one of them") return self.response + qedges = message.query_graph.edges + else: self.response.error(f"The 'query_graph' is detected. One of 'subject_qnode_id' or 'object_qnode_id' should be specified.") + + if self.parameters['regulation_type'] == 'increase': + edge_qualifier_direction = 'increased' + else: + edge_qualifier_direction = 'decreased' + edge_qualifier_list = [ + Qualifier(qualifier_type_id='biolink:object_aspect_qualifier', qualifier_value='activity_or_abundance'), + Qualifier(qualifier_type_id='biolink:object_direction_qualifier', qualifier_value=edge_qualifier_direction)] + + for qedge in qedges: + edge = message.query_graph.edges[qedge] + edge.knowledge_type = "inferred" + edge.predicates = ["biolink:affects"] + edge.qualifier_constraints = [QConstraint(qualifier_set=edge_qualifier_list)] + else: if 'subject_curie' in parameters or 'object_curie' in parameters: @@ -736,15 +848,17 @@ def __chemical_gene_regulation_graph_expansion(self, describe=False): try: top_predictions = XCRG.predict_top_N_genes(query_chemical=preferred_subject_curie, N=self.parameters['n_result_curies'], threshold=self.parameters['threshold'], model_type=self.parameters['regulation_type']) top_paths = XCRG.predict_top_M_paths(query_chemical=preferred_subject_curie, query_gene=None, model_type=self.parameters['regulation_type'], N=self.parameters['n_result_curies'], M=self.parameters['n_paths'], threshold=self.parameters['threshold'], kp=self.parameters['kp'], path_len=self.parameters['path_len'], interm_ids=None, interm_names= None, interm_categories=None) - except: - self.response.error(f"Something error occurred to get top genes or paths for chemical {preferred_subject_curie}", error_code="ValueError") + except Exception as e: + error_type = type(e).__name__ # Get the type of the exception + error_message = str(e) # Get the exception message + self.response.error(f"An error of type {error_type} occurred while trying to get top genes or paths for chemical {preferred_subject_curie}. Error message: {error_message}", error_code="ValueError") return self.response if top_predictions is None or len(top_predictions) == 0: self.response.warning(f"Could not get predicted genes for chemical {preferred_subject_curie}. Likely the model was not trained with this chemical.") return self.response if top_paths is None or len(top_paths) == 0: - self.response.warning(f"Could not get any predicted paths for chemical {preferred_subject_curie}. Likely the model considers there is no reasonable path for this chemical.") - + self.response.warning(f"Could not get any predicted paths for chemical {preferred_subject_curie}. Either Plover is not reachable or no paths found") + return self.response iu = InferUtilities() qedge_id = self.parameters.get('qedge_id') self.response, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter = iu.genrete_regulate_subgraphs(self.response, normalized_subject_curie, None, top_predictions, top_paths, qedge_id, self.parameters['regulation_type'], self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter) @@ -752,17 +866,20 @@ def __chemical_gene_regulation_graph_expansion(self, describe=False): try: top_predictions = XCRG.predict_top_N_chemicals(query_gene=preferred_object_curie, N=self.parameters['n_result_curies'], threshold=self.parameters['threshold'], model_type=self.parameters['regulation_type']) top_paths = XCRG.predict_top_M_paths(query_chemical=None, query_gene=preferred_object_curie, model_type=self.parameters['regulation_type'], N=self.parameters['n_result_curies'], M=self.parameters['n_paths'], threshold=self.parameters['threshold'], kp=self.parameters['kp'], path_len=self.parameters['path_len'], interm_ids=None, interm_names= None, interm_categories=None) - except: - self.response.error(f"Something error occurred to get top chemicals or paths for gene {preferred_object_curie}", error_code="ValueError") + except Exception as e: + error_type = type(e).__name__ # Get the type of the exception + error_message = str(e) # Get the exception message + self.response.error(f"An error of type {error_type} occurred while trying to get top chemicals or paths for gene {preferred_object_curie}. Error message: {error_message}", error_code="ValueError") return self.response if top_predictions is None or len(top_predictions) == 0: self.response.warning(f"Could not get predicted chemicals for gene {preferred_object_curie}. Likely the model was not trained with this gene.") return self.response if top_paths is None or len(top_paths) == 0: - self.response.warning(f"Could not get any predicted paths for gene {preferred_object_curie}. Likely the model considers there is no reasonable path for this gene.") - + self.response.warning(f"Could not get any predicted paths for gene {preferred_object_curie}. Either Plover is not reachable or no paths found") + return self.response iu = InferUtilities() qedge_id = self.parameters.get('qedge_id') + self.response, self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter = iu.genrete_regulate_subgraphs(self.response, None, normalized_object_curie, top_predictions, top_paths, qedge_id, self.parameters['regulation_type'], self.kedge_global_iter, self.qedge_global_iter, self.qnode_global_iter, self.option_global_iter) return self.response diff --git a/code/ARAX/ARAXQuery/ARAX_overlay.py b/code/ARAX/ARAXQuery/ARAX_overlay.py index f7954a8b0..702de3d36 100644 --- a/code/ARAX/ARAXQuery/ARAX_overlay.py +++ b/code/ARAX/ARAXQuery/ARAX_overlay.py @@ -1038,9 +1038,9 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() # message_dict = araxdb.getMessage(2) # acetaminophen2proteins graph # message_dict = araxdb.getMessage(13) # ibuprofen -> proteins -> disease # work computer @@ -1050,7 +1050,7 @@ def main(): # message_dict = araxdb.getMessage(10) # message_dict = araxdb.getMessage(36) # test COHD obs/exp, via ARAX_query.py 16 # message_dict = araxdb.getMessage(39) # ngd virtual edge test - message_dict = araxdb.getMessage(1) + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects from ARAX_messenger import ARAXMessenger diff --git a/code/ARAX/ARAXQuery/ARAX_query.py b/code/ARAX/ARAXQuery/ARAX_query.py index d7934ea34..44cd84b48 100644 --- a/code/ARAX/ARAXQuery/ARAX_query.py +++ b/code/ARAX/ARAXQuery/ARAX_query.py @@ -283,7 +283,8 @@ def track_query_finish(self): if hasattr(self.response, 'job_id'): query_tracker.update_tracker_entry(self.response.job_id, attributes) else: - eprint("*******ERROR: self.response has no job_id attr! E275") + # Sometimes we finish without a job_id having been created, and that's okay + pass diff --git a/code/ARAX/ARAXQuery/ARAX_query_graph_interpreter.py b/code/ARAX/ARAXQuery/ARAX_query_graph_interpreter.py index 959a8e204..404720cc5 100644 --- a/code/ARAX/ARAXQuery/ARAX_query_graph_interpreter.py +++ b/code/ARAX/ARAXQuery/ARAX_query_graph_interpreter.py @@ -61,11 +61,34 @@ def translate_to_araxi(self, response, describe=False): result = query_graph_info.assess(message) response.merge(result) if result.status != 'OK': - #print(response.show(level=ARAXResponse.DEBUG)) + #eprint(response.show(level=ARAXResponse.DEBUG)) + return response + + # Add some bespoke code to detect "pathfinder" queries and branch off to different behavior + # Perhaps this could be done through the templating, but seems difficult and may change soon, + # so put in this patch for now and see if we need to change it later. + # Current trigger: + # - Any edge has knowledge_type = pathfinder OR + # - Two or more edges have knowledge_type = inferred + #eprint(json.dumps(query_graph_info.edge_info,sort_keys=True,indent=2)) + pathfinder = False + n_inferred_edges = 0 + for edge_id, edge in query_graph_info.edge_info.items(): + if edge['knowledge_type'] == 'pathfinder': + pathfinder = True + if edge['knowledge_type'] == 'inferred': + n_inferred_edges += 1 + if n_inferred_edges > 1: + pathfinder = True + if pathfinder is True: + response.info("QueryGraphInterpreter recognized query_graph as a 'pathfinder' query: triggering pathfinder subsystem.") + response.data['araxi_commands'] = [ + 'connect(action=connect_nodes, max_path_length=4)', + ] return response query_graph_template = query_graph_info.query_graph_templates['detailed'] - #print(json.dumps(query_graph_template,sort_keys=True,indent=2)) + #eprint(json.dumps(query_graph_template,sort_keys=True,indent=2)) # Check the number of nodes since the tree is based on the number of nodes n_nodes = query_graph_template['n_nodes'] @@ -80,7 +103,7 @@ def translate_to_araxi(self, response, describe=False): # Now look over each component looking for matches possible_next_steps = [] for component in query_graph_template['components']: - if debug: print(f"- Component is {component}") + if debug: eprint(f"- Component is {component}") possible_next_steps = [] #### If the component is a node, then score it @@ -127,20 +150,20 @@ def translate_to_araxi(self, response, describe=False): new_tree_pointers = [] for tree_pointer in tree_pointers: if debug: - #print(f" - pointer={tree_pointer}") - #print(f" - pointer...") + #eprint(f" - pointer={tree_pointer}") + #eprint(f" - pointer...") #for tp_key,tp_pointer in tree_pointer['pointer'].items(): - # print(f" - {tp_key} = {tp_pointer}") + # eprint(f" - {tp_key} = {tp_pointer}") pass # Consider each of the new possibilities for possible_next_step in possible_next_steps: component_string = f"{component['component_id']}({possible_next_step['content']})" - if debug: print(f" - component_string={component_string}") + if debug: eprint(f" - component_string={component_string}") # If this component is a possible next step in the tree, then add the next step to new_tree_pointers if component_string in tree_pointer['pointer']: - if debug: print(f" - Found this component with score {possible_next_step['score']}") + if debug: eprint(f" - Found this component with score {possible_next_step['score']}") new_tree_pointers.append( { 'pointer': tree_pointer['pointer'][component_string], 'score': tree_pointer['score'] + possible_next_step['score'] }) #tree_pointer = tree_pointer[component_string] @@ -152,7 +175,7 @@ def translate_to_araxi(self, response, describe=False): best_score = -1 for tree_pointer in tree_pointers: if 'name' in tree_pointer['pointer']: - if debug: print(f"==> Found template is {tree_pointer['pointer']['name']} with score {tree_pointer['score']}") + if debug: eprint(f"==> Found template is {tree_pointer['pointer']['name']} with score {tree_pointer['score']}") if tree_pointer['score'] > best_score: query_graph_template_name = tree_pointer['pointer']['name'] best_score = tree_pointer['score'] @@ -685,6 +708,7 @@ def QGI_test6(): with open('QGI_test6.json', 'w', encoding='utf-8') as f: json.dump(ast.literal_eval(repr(envelope)), f, ensure_ascii=False, indent=4) + def QGI_test7(): # This is to test a three hop query with one end pinned (should result in FET ARAXi commands), and actually run the query input_query_graph = { @@ -776,6 +800,81 @@ def QGI_test7(): # save message to file (since I can't get the UI working locally for some reason) with open('QGI_test7.json', 'w', encoding='utf-8') as f: json.dump(ast.literal_eval(repr(envelope)), f, ensure_ascii=False, indent=4) + + +def QGI_test8(): + # Test of the Pathfinder query recognition + input_query_graph = { + "message": { + "query_graph": { + "nodes": { + "n0": { + "ids": [ + "CHEBI:49662" + ] + }, + "un": { + "categories": [ + "biolink:NamedThing" + ] + }, + "n2": { + "ids": [ + "NCBIGene:1719" + ] + } + }, + "edges": { + "e0": { + "subject": "n0", + "object": "un", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + }, + "e1": { + "subject": "un", + "object": "n2", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + }, + "e2": { + "subject": "n0", + "object": "n2", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + } + } + } + } + } + + #### Create a template Message + response = ARAXResponse() + messenger = ARAXMessenger() + messenger.create_envelope(response) + message = ARAXMessenger().from_dict(input_query_graph['message']) + response.envelope.message.query_graph = message.query_graph + + interpreter = ARAXQueryGraphInterpreter() + interpreter.translate_to_araxi(response) + if response.status != 'OK': + print(response.show(level=ARAXResponse.DEBUG)) + return response + + araxi_commands = response.data['araxi_commands'] + eprint("Series of ARAXi commands:") + for cmd in araxi_commands: + print(f" - {cmd}") + + return + + ########################################################################################## def main(): @@ -798,6 +897,8 @@ def main(): QGI_test6() elif params.test_number[0] == '7': QGI_test7() + elif params.test_number[0] == '8': + QGI_test8() else: QGI_test1() diff --git a/code/ARAX/ARAXQuery/ARAX_ranker.py b/code/ARAX/ARAXQuery/ARAX_ranker.py index 63f7f99f7..02f6343ae 100644 --- a/code/ARAX/ARAXQuery/ARAX_ranker.py +++ b/code/ARAX/ARAXQuery/ARAX_ranker.py @@ -20,7 +20,7 @@ from openapi_server.models.edge import Edge from openapi_server.models.attribute import Attribute -edge_confidence_manual_agent = 0.999 +edge_confidence_manual_agent = 0.99 def _get_nx_edges_by_attr(G: Union[nx.MultiDiGraph, nx.MultiGraph], key: str, val: str) -> Set[tuple]: res_set = set() @@ -33,8 +33,8 @@ def _get_nx_edges_by_attr(G: Union[nx.MultiDiGraph, nx.MultiGraph], key: str, va def _get_query_graph_networkx_from_query_graph(query_graph: QueryGraph) -> nx.MultiDiGraph: query_graph_nx = nx.MultiDiGraph() - query_graph_nx.add_nodes_from([key for key,node in query_graph.nodes.items()]) - edge_list = [[edge.subject, edge.object, key, {'weight': 0.0}] for key,edge in query_graph.edges.items()] + query_graph_nx.add_nodes_from([key for key, node in query_graph.nodes.items() if 'creative_' not in key]) + edge_list = [[edge.subject, edge.object, key, {'weight': 0.0}] for key,edge in query_graph.edges.items() if 'creative_' not in key] query_graph_nx.add_edges_from(edge_list) return query_graph_nx @@ -124,8 +124,9 @@ def _get_weighted_graph_networkx_from_result_graph(kg_edge_id_to_edge: Dict[str, qg_edge_key_to_edge_tuple = {edge_tuple[2]: edge_tuple for edge_tuple in qg_edge_tuples} for analysis in result.analyses: # For now we only ever have one Analysis per Result for qedge_key, edge_binding_list in analysis.edge_bindings.items(): - qedge_tuple = qg_edge_key_to_edge_tuple[qedge_key] - res_graph[qedge_tuple[0]][qedge_tuple[1]][qedge_tuple[2]]['weight'] = _calculate_final_result_score(kg_edge_id_to_edge, edge_binding_list) + if 'creative_' not in qedge_key: + qedge_tuple = qg_edge_key_to_edge_tuple[qedge_key] + res_graph[qedge_tuple[0]][qedge_tuple[1]][qedge_tuple[2]]['weight'] = _calculate_final_result_score(kg_edge_id_to_edge, edge_binding_list) return res_graph @@ -187,7 +188,7 @@ def _score_networkx_graphs_by_max_flow(result_graphs_nx: List[Union[nx.MultiDiGr capacity="weight")) max_flow_value = 0.0 if len(max_flow_values_for_node_pairs) > 0: - max_flow_value = sum(max_flow_values_for_node_pairs)/float(len(max_flow_values_for_node_pairs)) + max_flow_value = _calculate_final_individual_edge_confidence(0, max_flow_values_for_node_pairs) else: max_flow_value = 1.0 max_flow_values.append(max_flow_value) @@ -209,7 +210,7 @@ def _score_networkx_graphs_by_longest_path(result_graphs_nx: List[Union[nx.Multi adj_matrix_power = np.linalg.matrix_power(adj_matrix, max_path_len)/math.factorial(max_path_len) score_list = [adj_matrix_power[map_node_name_to_index[node_i], map_node_name_to_index[node_j]] for node_i, node_j in pairs_with_max_path_len] - result_score = np.mean(score_list) + result_score = _calculate_final_individual_edge_confidence(0, score_list) result_scores.append(result_score) return result_scores @@ -365,7 +366,7 @@ def edge_attribute_score_combiner(self, edge_key, edge): elif 'infores' in edge_key.split('--')[-1]: # default score for other data sources base = edge_default_base else: # virtual edges or inferred edges - base = 0 # no base score for these edges. Its core is based on + base = 0 # no base score for these edges. Its score is based on its attribute scores. if edge.attributes is not None: for edge_attribute in edge.attributes: @@ -454,7 +455,7 @@ def edge_attribute_publication_normalizer(self, attribute_type_id: str, edge_att pub_value = np.log(n_publications) max_value = 1.0 curve_steepness = 3.16993 - logistic_midpoint = 1.38629 + logistic_midpoint = 1.60943 # log(5) = 1.60943 meaning having 5 publications is a mid point normalized_value = max_value / float(1 + np.exp(-curve_steepness * (pub_value - logistic_midpoint))) return normalized_value @@ -827,7 +828,7 @@ def main(): import argparse argparser = argparse.ArgumentParser(description='Ranker system') - argparser.add_argument('--local', action='store_true', help='If set, use local RTXFeedback database to fetch messages') + argparser.add_argument('--local', action='store_true', help='If set, use local ResponseCache database to fetch messages') params = argparser.parse_args() # --- Create a response object @@ -848,10 +849,10 @@ def main(): # For local messages due to local changes in code not rolled out to production: if params.local: - sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() - message_dict = araxdb.getMessage(294) # local version of 2709 but with updates to COHD + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() + message_dict = response_cache.get_response(314204) # message_dict = araxdb.getMessage(297) # message_dict = araxdb.getMessage(298) # message_dict = araxdb.getMessage(299) # observed_expected_ratio different disease diff --git a/code/ARAX/ARAXQuery/Expand/kg2_querier.py b/code/ARAX/ARAXQuery/Expand/kg2_querier.py deleted file mode 100644 index 025703ebc..000000000 --- a/code/ARAX/ARAXQuery/Expand/kg2_querier.py +++ /dev/null @@ -1,292 +0,0 @@ -#!/bin/env python3 -import random -import sys -import os -import time -from collections import defaultdict -from typing import Dict, Tuple, Union, Set -import requests -import traceback -import json - -sys.path.append(os.path.dirname(os.path.abspath(__file__))) -import expand_utilities as eu -from expand_utilities import QGOrganizedKnowledgeGraph -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../") # ARAXQuery directory -from ARAX_response import ARAXResponse -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../UI/OpenAPI/python-flask-server/") -from openapi_server.models.node import Node -from openapi_server.models.edge import Edge -from openapi_server.models.attribute import Attribute -from openapi_server.models.query_graph import QueryGraph -from openapi_server.models.qualifier import Qualifier -from openapi_server.models.retrieval_source import RetrievalSource - - -class KG2Querier: - - def __init__(self, response_object: ARAXResponse, plover_url: str): - self.response = response_object - self.kg2_infores_curie = "infores:rtx-kg2" - self.max_allowed_edges = 1000000 - self.max_edges_per_input_curie = 1000 - self.curie_batch_size = 100 - self.plover_url = plover_url - - def answer_one_hop_query(self, query_graph: QueryGraph) -> QGOrganizedKnowledgeGraph: - """ - This function answers a one-hop (single-edge) query using KG2c, via PloverDB. - :param query_graph: A TRAPI query graph. - :return: An (almost) TRAPI knowledge graph containing all of the nodes and edges returned as - results for the query. (Organized by QG IDs.) - """ - log = self.response - final_kg = QGOrganizedKnowledgeGraph() - - # Verify this is a valid one-hop query graph - if len(query_graph.edges) != 1: - log.error(f"answer_one_hop_query() was passed a query graph that is not one-hop: " - f"{query_graph.to_dict()}", error_code="InvalidQuery") - return final_kg - if len(query_graph.nodes) != 2: - log.error(f"answer_one_hop_query() was passed a query graph with more than two nodes: " - f"{query_graph.to_dict()}", error_code="InvalidQuery") - return final_kg - - # Get canonical versions of the input curies - qnode_keys_with_curies = [qnode_key for qnode_key, qnode in query_graph.nodes.items() if qnode.ids] - for qnode_key in qnode_keys_with_curies: - qnode = query_graph.nodes[qnode_key] - canonical_curies = eu.get_canonical_curies_list(qnode.ids, log) - log.debug(f"Using {len(canonical_curies)} curies as canonical curies for qnode {qnode_key}") - qnode.ids = canonical_curies - qnode.categories = None # Important to clear this, otherwise results are limited (#889) - - # Send the query to plover in batches of input curies - qedge_key = next(qedge_key for qedge_key in query_graph.edges) - input_qnode_key = self._get_input_qnode_key(query_graph) - input_curies = query_graph.nodes[input_qnode_key].ids - input_curie_set = set(input_curies) - curie_batches = [input_curies[i:i+self.curie_batch_size] for i in range(0, len(input_curies), self.curie_batch_size)] - log.debug(f"Split {len(input_curies)} input curies into {len(curie_batches)} batches to send to Plover") - log.info(f"Max edges allowed per input curie for this query is: {self.max_edges_per_input_curie}") - batch_num = 1 - for curie_batch in curie_batches: - log.debug(f"Sending batch {batch_num} to Plover (has {len(curie_batch)} input curies)") - query_graph.nodes[input_qnode_key].ids = curie_batch - plover_answer, response_status = \ - KG2Querier._answer_query_using_plover(query_graph, - log, - self.plover_url) - if response_status == 200: - filtered_plover_answer = eu.filter_response_domain_range_exclusion(plover_answer, query_graph, log) - batch_kg = self._load_plover_answer_into_object_model(filtered_plover_answer, log) - final_kg = eu.merge_two_kgs(batch_kg, final_kg) - # Prune down highly-connected input curies if we're over the max number of allowed edges - if final_kg.edges_by_qg_id.get(qedge_key): - if len(final_kg.edges_by_qg_id[qedge_key]) > self.max_allowed_edges: - log.debug(f"Have exceeded max num allowed edges ({self.max_allowed_edges}); will attempt to " - f"reduce the number of edges by pruning down highly connected nodes") - final_kg = self._prune_highly_connected_nodes(final_kg, qedge_key, input_curie_set, - input_qnode_key, self.max_edges_per_input_curie, - log) - # Error out if this pruning wasn't sufficient to bring down the edge count - if len(final_kg.edges_by_qg_id[qedge_key]) > self.max_allowed_edges: - log.error(f"Query for qedge {qedge_key} produced more than {self.max_allowed_edges} edges, " - f"which is too much for the system to handle. You must somehow make your query " - f"smaller (specify fewer input curies or use more specific predicates/categories).", - error_code="QueryTooLarge") - return final_kg - else: - log.error(f"Plover returned response of {response_status}. Answer was: {plover_answer}", error_code="RequestFailed") - return final_kg - batch_num += 1 - - return final_kg - - def answer_single_node_query(self, single_node_qg: QueryGraph) -> QGOrganizedKnowledgeGraph: - log = self.response - qnode_key = next(qnode_key for qnode_key in single_node_qg.nodes) - qnode = single_node_qg.nodes[qnode_key] - final_kg = QGOrganizedKnowledgeGraph() - - # Convert qnode curies as needed (either to synonyms or to canonical versions) - if qnode.ids: - qnode.ids = eu.get_canonical_curies_list(qnode.ids, log) - qnode.categories = None # Important to clear this to avoid discrepancies in types for particular concepts - - # Send request to plover - plover_answer, \ - response_status = \ - KG2Querier._answer_query_using_plover(single_node_qg, - log, - self.plover_url) - if response_status == 200: - final_kg = self._load_plover_answer_into_object_model(plover_answer, log) - else: - log.error(f"Plover returned response of {response_status}. Answer was: {plover_answer}", error_code="RequestFailed") - - return final_kg - - @staticmethod - def _prune_highly_connected_nodes(kg: QGOrganizedKnowledgeGraph, qedge_key: str, input_curies: Set[str], - input_qnode_key: str, max_edges_per_input_curie: int, log: ARAXResponse) -> QGOrganizedKnowledgeGraph: - # First create a lookup of which edges belong to which input curies - input_nodes_to_edges_dict = defaultdict(set) - for edge_key, edge in kg.edges_by_qg_id[qedge_key].items(): - if edge.subject in input_curies: - input_nodes_to_edges_dict[edge.subject].add(edge_key) - if edge.object in input_curies: - input_nodes_to_edges_dict[edge.object].add(edge_key) - # Then prune down highly-connected nodes (delete edges per input curie in excess of some set limit) - for node_key, connected_edge_keys in input_nodes_to_edges_dict.items(): - connected_edge_keys_list = list(connected_edge_keys) - if len(connected_edge_keys_list) > max_edges_per_input_curie: - random.shuffle(connected_edge_keys_list) # Make it random which edges we keep for this input curie - edge_keys_to_remove = connected_edge_keys_list[max_edges_per_input_curie:] - log.debug(f"Randomly removing {len(edge_keys_to_remove)} edges from answer for input curie {node_key}") - for edge_key in edge_keys_to_remove: - kg.edges_by_qg_id[qedge_key].pop(edge_key, None) - # Document that not all answers for this input curie are included - node = kg.nodes_by_qg_id[input_qnode_key].get(node_key) - if node: - if not node.attributes: - node.attributes = [] - if not any(attribute.attribute_type_id == "biolink:incomplete_result_set" - for attribute in node.attributes): - node.attributes.append(Attribute(attribute_type_id="biolink:incomplete_result_set", # TODO: request this as actual biolink item? - value_type_id="metatype:Boolean", - value=True, - attribute_source="infores:rtx-kg2", - description=f"This attribute indicates that not all " - f"nodes/edges returned as answers for this input " - f"curie were included in the final answer due to " - f"size limitations. {max_edges_per_input_curie} " - f"edges for this input curie were kept.")) - # Then delete any nodes orphaned by removal of edges - node_keys_used_by_edges = kg.get_all_node_keys_used_by_edges() - for qnode_key, nodes in kg.nodes_by_qg_id.items(): - orphan_node_keys = set(nodes).difference(node_keys_used_by_edges) - if orphan_node_keys: - log.debug(f"Removing {len(orphan_node_keys)} {qnode_key} nodes orphaned by the above step") - for orphan_node_key in orphan_node_keys: - del kg.nodes_by_qg_id[qnode_key][orphan_node_key] - return kg - - @staticmethod - def _answer_query_using_plover(qg: QueryGraph, - log: ARAXResponse, - url: str) -> Tuple[Dict[str, Dict[str, Union[set, dict]]], int]: - # First prep the query graph (requires some minor additions for Plover) - dict_qg = qg.to_dict() - dict_qg["include_metadata"] = True # Ask plover to return node/edge objects (not just IDs) - dict_qg["respect_predicate_symmetry"] = True # Ignore direction for symmetric predicate, enforce for asymmetric - # Allow subclass_of reasoning for qnodes with a small number of curies - for qnode in dict_qg["nodes"].values(): - if qnode.get("ids") and len(qnode["ids"]) < 5: - if "allow_subclasses" not in qnode or qnode["allow_subclasses"] is None: - qnode["allow_subclasses"] = True - # Then send the actual query - log.debug(f"Sending query to {url}") - try: - response = requests.post(f"{url}/query", - json=dict_qg, - timeout=60, - headers={'accept': 'application/json'}) - except Exception as e: - log.error(f"Error querying PloverDB: {e} " - f"TRACE {traceback.format_exc()}") - raise e - status_code = response.status_code - response_text = response.text - del response - if status_code == 200: - log.debug(f"Plover returned status code {status_code}") - return json.loads(response_text), status_code - else: - log.warning(f"Plover returned status code {status_code}." - f" Response was: {response_text}") - return dict(), status_code - - def _load_plover_answer_into_object_model(self, plover_answer: Dict[str, Dict[str, Union[set, dict]]], - log: ARAXResponse) -> QGOrganizedKnowledgeGraph: - answer_kg = QGOrganizedKnowledgeGraph() - # Load returned nodes into TRAPI object model - for qnode_key, nodes in plover_answer["nodes"].items(): - num_nodes = len(nodes) - log.debug(f"Loading {num_nodes} {qnode_key} nodes into TRAPI object model") - start = time.time() - for node_key, node_tuple in nodes.items(): - node = self._convert_kg2c_plover_node_to_trapi_node(node_tuple) - answer_kg.add_node(node_key, node, qnode_key) - log.debug(f"Loading {num_nodes} {qnode_key} nodes into TRAPI object model took " - f"{round(time.time() - start, 2)} seconds") - # Load returned edges into TRAPI object model - for qedge_key, edges in plover_answer["edges"].items(): - num_edges = len(edges) - log.debug(f"Loading {num_edges} edges into TRAPI object model") - start = time.time() - for edge_key, edge_tuple in edges.items(): - edge = self._convert_kg2c_plover_edge_to_trapi_edge(edge_tuple) - answer_kg.add_edge(edge_key, edge, qedge_key) - log.debug(f"Loading {num_edges} {qedge_key} edges into TRAPI object model took " - f"{round(time.time() - start, 2)} seconds") - return answer_kg - - @staticmethod - def _convert_kg2c_plover_node_to_trapi_node(node_tuple: list) -> Node: - node = Node(name=node_tuple[0], categories=eu.convert_to_list(node_tuple[1]), attributes=[]) - node.query_ids = node_tuple[2] # This is an unofficial property, so can't fill out during initialization - return node - - def _convert_kg2c_plover_edge_to_trapi_edge(self, edge_tuple: list) -> Edge: - edge = Edge(subject=edge_tuple[0], object=edge_tuple[1], predicate=edge_tuple[2]) - primary_knowledge_source = edge_tuple[3] - qualified_predicate = edge_tuple[4] - qualified_object_direction = edge_tuple[5] - qualified_object_aspect = edge_tuple[6] - - sources = list() - # Add this edge's primary knowledge source - sources.append(RetrievalSource(resource_id=primary_knowledge_source, - resource_role="primary_knowledge_source")) - - # Indicate that this edge came from the KG2 KP - sources.append(RetrievalSource(resource_id=self.kg2_infores_curie, - resource_role="aggregator_knowledge_source", - upstream_resource_ids=[primary_knowledge_source])) - edge.sources = sources - - # Add any qualifiers as appropriate - qualifiers = [] - if qualified_predicate: - predicate_qualifier = Qualifier(qualifier_type_id="biolink:qualified_predicate", - qualifier_value=qualified_predicate) - qualifiers.append(predicate_qualifier) - if qualified_object_direction: - direction_qualifier = Qualifier(qualifier_type_id="biolink:object_direction_qualifier", - qualifier_value=qualified_object_direction) - qualifiers.append(direction_qualifier) - if qualified_object_aspect: - aspect_qualifier = Qualifier(qualifier_type_id="biolink:object_aspect_qualifier", - qualifier_value=qualified_object_aspect) - qualifiers.append(aspect_qualifier) - if qualifiers: - edge.qualifiers = qualifiers - - return edge - - @staticmethod - def _get_input_qnode_key(one_hop_qg: QueryGraph) -> str: - qedge = next(qedge for qedge in one_hop_qg.edges.values()) - qnode_a_key = qedge.subject - qnode_b_key = qedge.object - qnode_a = one_hop_qg.nodes[qnode_a_key] - qnode_b = one_hop_qg.nodes[qnode_b_key] - if qnode_a.ids and qnode_b.ids: - # Considering the qnode with fewer curies the 'input' is more efficient for querying Plover - return qnode_a_key if len(qnode_a.ids) < len(qnode_b.ids) else qnode_b_key - elif qnode_a.ids: - return qnode_a_key - else: - return qnode_b_key diff --git a/code/ARAX/ARAXQuery/Expand/kp_info_cacher.py b/code/ARAX/ARAXQuery/Expand/kp_info_cacher.py index 946adfa6c..b0c2f1359 100644 --- a/code/ARAX/ARAXQuery/Expand/kp_info_cacher.py +++ b/code/ARAX/ARAXQuery/Expand/kp_info_cacher.py @@ -102,19 +102,8 @@ def _get_kp_url_from_smartapi_registration(self, kp_smart_api_registration: dict # Handle the special case of RTX-KG2 if kp_smart_api_registration["infores_name"] == "infores:rtx-kg2": - # Choose which KG2 URL to use based on whether this is an ITRB instance and any potential overrides - all_kg2_urls = {server["url"] for server in kp_smart_api_registration["servers"]} - if self.rtx_config.rtx_kg2_url: - # This means there's an override in place; we'll use whatever URL was specified - raw_url = self.rtx_config.rtx_kg2_url - elif self.rtx_config.is_itrb_instance: - itrb_kg2_urls = [url for url in all_kg2_urls if "transltr.io" in url] - if itrb_kg2_urls: - raw_url = itrb_kg2_urls[0] # Should really only be one KG2 per TRAPI version / maturity level - else: - non_itrb_kg2_urls = [url for url in all_kg2_urls if "transltr.io" not in url] - if non_itrb_kg2_urls: - raw_url = non_itrb_kg2_urls[0] + # Captures an override if one is in place; otherwise server is read from our SmartAPI yaml/JSON + raw_url = self.rtx_config.plover_url # Remove any trailing slashes return raw_url.strip("/") if isinstance(raw_url, str) else raw_url diff --git a/code/ARAX/ARAXQuery/Expand/kp_selector.py b/code/ARAX/ARAXQuery/Expand/kp_selector.py index 8c556d086..692520716 100644 --- a/code/ARAX/ARAXQuery/Expand/kp_selector.py +++ b/code/ARAX/ARAXQuery/Expand/kp_selector.py @@ -42,10 +42,7 @@ def _load_cached_kp_info(self) -> tuple: self.log.error(f"Failed to load KP info caches due to {e}", error_code="LoadKPCachesFailed") return None, None, None, None - # Record None URLs for our local KPs - allowed_kp_urls = smart_api_info["allowed_kp_urls"] - - return (meta_map, allowed_kp_urls, smart_api_info["kps_excluded_by_version"], + return (meta_map, smart_api_info["allowed_kp_urls"], smart_api_info["kps_excluded_by_version"], smart_api_info["kps_excluded_by_maturity"]) def get_kps_for_single_hop_qg(self, qg: QueryGraph) -> Optional[Set[str]]: diff --git a/code/ARAX/ARAXQuery/Expand/trapi_querier.py b/code/ARAX/ARAXQuery/Expand/trapi_querier.py index 9c256e0df..c6260949b 100644 --- a/code/ARAX/ARAXQuery/Expand/trapi_querier.py +++ b/code/ARAX/ARAXQuery/Expand/trapi_querier.py @@ -35,12 +35,11 @@ class TRAPIQuerier: def __init__(self, response_object: ARAXResponse, kp_name: str, user_specified_kp: bool, kp_timeout: Optional[int], - kp_selector: KPSelector = None, force_local: bool = False): + kp_selector: KPSelector = None): self.log = response_object self.kp_infores_curie = kp_name self.user_specified_kp = user_specified_kp self.kp_timeout = kp_timeout - self.force_local = force_local if kp_selector is None: kp_selector = KPSelector() self.kp_selector = kp_selector @@ -52,13 +51,13 @@ def __init__(self, response_object: ARAXResponse, kp_name: str, user_specified_k upstream_resource_ids=[self.kp_infores_curie]) async def answer_one_hop_query_async(self, query_graph: QueryGraph, - alter_kg2_treats_edges: bool = False) -> QGOrganizedKnowledgeGraph: + be_creative_treats: bool = False) -> QGOrganizedKnowledgeGraph: """ This function answers a one-hop (single-edge) query using the specified KP. :param query_graph: A TRAPI query graph. - :param alter_kg2_treats_edges: If true, will query KG2 for higher-level treats-type predicates instead of just - 'treats'. Any higher-level returned edges will later be altered to have 'treats' - predicates in ARAX_expander.py. + :param be_creative_treats: If true, will query KP for higher-level treats-type predicates instead of just + 'treats'. Any higher-level returned edges will later be altered appropriately + in ARAX_expander.py. :return: An (almost) TRAPI knowledge graph containing all of the nodes and edges returned as results for the query. (Organized by QG IDs.) """ @@ -90,14 +89,13 @@ async def answer_one_hop_query_async(self, query_graph: QueryGraph, log.update_query_plan(qedge_key, self.kp_infores_curie, "Skipped", skipped_message) return final_kg - # Patch to address lack of answers from KG2 for treats queries after treats refactor #2328 - if alter_kg2_treats_edges and self.kp_infores_curie == "infores:rtx-kg2": + # Treat this as a creative 'treats' query + if be_creative_treats: for qedge in qg_copy.edges.values(): # Note there's only ever one qedge per QG here qedge.predicates = list(set(qedge.predicates).union({"biolink:treats_or_applied_or_studied_to_treat", - "biolink:applied_to_treat", - "biolink:studied_to_treat"})) - log.info(f"For querying infores:rtx-kg2, edited {qedge_key} to use higher treats-type predicates: " - f"{qedge.predicates}") + "biolink:applied_to_treat"})) # Just to be safe + log.info(f"For querying {self.kp_infores_curie}, edited {qedge_key} to use higher treats-type " + f"predicates: {qedge.predicates}") # Answer the query using the KP and load its answers into our object model final_kg = await self._answer_query_using_kp_async(qg_copy) @@ -242,41 +240,37 @@ async def _answer_query_using_kp_async(self, query_graph: QueryGraph) -> QGOrgan query_timeout = self._get_query_timeout_length() qedge_key = next(qedge_key for qedge_key in query_graph.edges) - # Avoid calling the KG2 TRAPI endpoint if the 'force_local' flag is set (used only for testing/dev work) num_input_curies = max([len(eu.convert_to_list(qnode.ids)) for qnode in query_graph.nodes.values()]) waiting_message = f"Query with {num_input_curies} curies sent: waiting for response" self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Waiting", waiting_message, query=query_sent) start = time.time() - if self.force_local and self.kp_infores_curie == 'infores:rtx-kg2': - json_response = self._answer_query_force_local(request_body) - # Otherwise send the query graph to the KP's TRAPI API - else: - self.log.debug(f"{self.kp_infores_curie}: Sending query to {self.kp_infores_curie} API ({self.kp_endpoint})") - async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=False)) as session: - try: - async with session.post(f"{self.kp_endpoint}/query", - json=request_body, - headers={'accept': 'application/json'}, - timeout=query_timeout) as response: - if response.status == 200: - json_response = await response.json() - else: - wait_time = round(time.time() - start) - http_error_message = f"Returned HTTP error {response.status} after {wait_time} seconds" - self.log.warning(f"{self.kp_infores_curie}: {http_error_message}. Query sent to KP was: {request_body}") - self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Error", http_error_message) - return QGOrganizedKnowledgeGraph() - except asyncio.exceptions.TimeoutError: - timeout_message = f"Query timed out after {query_timeout} seconds" - self.log.warning(f"{self.kp_infores_curie}: {timeout_message}") - self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Timed out", timeout_message) - return QGOrganizedKnowledgeGraph() - except Exception as ex: - wait_time = round(time.time() - start) - exception_message = f"Request threw exception after {wait_time} seconds: {type(ex)}" - self.log.warning(f"{self.kp_infores_curie}: {exception_message}") - self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Error", exception_message) - return QGOrganizedKnowledgeGraph() + # Send the query graph to the KP's TRAPI API + self.log.debug(f"{self.kp_infores_curie}: Sending query to {self.kp_infores_curie} API ({self.kp_endpoint})") + async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=False)) as session: + try: + async with session.post(f"{self.kp_endpoint}/query", + json=request_body, + headers={'accept': 'application/json'}, + timeout=query_timeout) as response: + if response.status == 200: + json_response = await response.json() + else: + wait_time = round(time.time() - start) + http_error_message = f"Returned HTTP error {response.status} after {wait_time} seconds" + self.log.warning(f"{self.kp_infores_curie}: {http_error_message}. Query sent to KP was: {request_body}") + self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Error", http_error_message) + return QGOrganizedKnowledgeGraph() + except asyncio.exceptions.TimeoutError: + timeout_message = f"Query timed out after {query_timeout} seconds" + self.log.warning(f"{self.kp_infores_curie}: {timeout_message}") + self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Timed out", timeout_message) + return QGOrganizedKnowledgeGraph() + except Exception as ex: + wait_time = round(time.time() - start) + exception_message = f"Request threw exception after {wait_time} seconds: {type(ex)}" + self.log.warning(f"{self.kp_infores_curie}: {exception_message}") + self.log.update_query_plan(qedge_key, self.kp_infores_curie, "Error", exception_message) + return QGOrganizedKnowledgeGraph() wait_time = round(time.time() - start) answer_kg = self._load_kp_json_response(json_response, query_graph) @@ -289,32 +283,28 @@ def _answer_query_using_kp(self, query_graph: QueryGraph) -> QGOrganizedKnowledg request_body = self._get_prepped_request_body(query_graph) query_timeout = self._get_query_timeout_length() - # Avoid calling the KG2 TRAPI endpoint if the 'force_local' flag is set (used only for testing/dev work) - if self.force_local and self.kp_infores_curie == 'infores:rtx-kg2': - json_response = self._answer_query_force_local(request_body) - # Otherwise send the query graph to the KP's TRAPI API + # Send the query graph to the KP's TRAPI API + self.log.debug(f"{self.kp_infores_curie}: Sending query to {self.kp_infores_curie} API ({self.kp_endpoint})") + try: + with requests_cache.disabled(): + start = time.time() + kp_response = requests.post(f"{self.kp_endpoint}/query", + json=request_body, + headers={'accept': 'application/json'}, + timeout=query_timeout) + self.log.wait_time = round(time.time() - start) + except Exception: + timeout_message = f"Query timed out after {query_timeout} seconds" + self.log.warning(f"{self.kp_infores_curie}: {timeout_message}") + self.log.timed_out = query_timeout + return QGOrganizedKnowledgeGraph() + if kp_response.status_code != 200: + self.log.warning(f"{self.kp_infores_curie} API returned response of {kp_response.status_code}. " + f"Response from KP was: {kp_response.text}") + self.log.http_error = f"HTTP {kp_response.status_code}" + return QGOrganizedKnowledgeGraph() else: - self.log.debug(f"{self.kp_infores_curie}: Sending query to {self.kp_infores_curie} API ({self.kp_endpoint})") - try: - with requests_cache.disabled(): - start = time.time() - kp_response = requests.post(f"{self.kp_endpoint}/query", - json=request_body, - headers={'accept': 'application/json'}, - timeout=query_timeout) - self.log.wait_time = round(time.time() - start) - except Exception: - timeout_message = f"Query timed out after {query_timeout} seconds" - self.log.warning(f"{self.kp_infores_curie}: {timeout_message}") - self.log.timed_out = query_timeout - return QGOrganizedKnowledgeGraph() - if kp_response.status_code != 200: - self.log.warning(f"{self.kp_infores_curie} API returned response of {kp_response.status_code}. " - f"Response from KP was: {kp_response.text}") - self.log.http_error = f"HTTP {kp_response.status_code}" - return QGOrganizedKnowledgeGraph() - else: - json_response = kp_response.json() + json_response = kp_response.json() answer_kg = self._load_kp_json_response(json_response, query_graph) return answer_kg @@ -339,13 +329,6 @@ def _get_prepped_request_body(self, qg: QueryGraph) -> dict: body['return_minimal_metadata'] = True # Don't want KG2 attributes because ARAX adds them later (faster) return body - def _answer_query_force_local(self, request_body: dict) -> dict: - self.log.debug(f"{self.kp_infores_curie}: Pretending to send query to KG2 API (really it will be run locally)") - arax_query = ARAXQuery() - kg2_araxquery_response = arax_query.query(request_body, mode='RTXKG2') - json_response = kg2_araxquery_response.envelope.to_dict() - return json_response - def _load_kp_json_response(self, json_response: dict, qg: QueryGraph) -> QGOrganizedKnowledgeGraph: # Load the results into the object model answer_kg = QGOrganizedKnowledgeGraph() @@ -368,9 +351,20 @@ def _load_kp_json_response(self, json_response: dict, qg: QueryGraph) -> QGOrgan # Build a map that indicates which qnodes/qedges a given node/edge fulfills kg_to_qg_mappings, query_curie_mappings = self._get_kg_to_qg_mappings_from_results(kp_message.results, qg) - # Populate our final KG with the returned nodes and edges + # Populate our final KG with the returned edges returned_edge_keys_missing_qg_bindings = set() + nodes_dict = kp_message.knowledge_graph.nodes for returned_edge_key, returned_edge in kp_message.knowledge_graph.edges.items(): + # Catch invalid subject/object + if not returned_edge.subject or not returned_edge.object: + self.log.warning(f"{self.kp_infores_curie}: Edge has empty subject/object, skipping. " + f"subject: '{returned_edge.subject}', object: '{returned_edge.object}'") + continue + if returned_edge.subject not in nodes_dict or returned_edge.object not in nodes_dict: + self.log.warning(f"{self.kp_infores_curie}: Edge is an orphan, skipping. " + f"subject: '{returned_edge.subject}', object: '{returned_edge.object}'") + continue + arax_edge_key = self._get_arax_edge_key(returned_edge) # Convert to an ID that's unique for us # Put in a placeholder for missing required attribute fields to try to keep our answer TRAPI-compliant @@ -399,9 +393,13 @@ def _load_kp_json_response(self, json_response: dict, qg: QueryGraph) -> QGOrgan self.log.warning(f"{self.kp_infores_curie}: {len(returned_edge_keys_missing_qg_bindings)} edges in the KP's answer " f"KG have no bindings to the QG: {returned_edge_keys_missing_qg_bindings}") + # Populate our final KG with the returned nodes returned_node_keys_missing_qg_bindings = set() for returned_node_key, returned_node in kp_message.knowledge_graph.nodes.items(): - if returned_node_key not in kg_to_qg_mappings['nodes']: + if not returned_node_key: + self.log.warning(f"{self.kp_infores_curie}: Node has empty ID, skipping. Node key is: " + f"'{returned_node_key}'") + elif returned_node_key not in kg_to_qg_mappings['nodes']: returned_node_keys_missing_qg_bindings.add(returned_node_key) else: for qnode_key in kg_to_qg_mappings['nodes'][returned_node_key]: diff --git a/code/ARAX/ARAXQuery/Filter_KG/remove_nodes.py b/code/ARAX/ARAXQuery/Filter_KG/remove_nodes.py index d2fb0345f..2a0f7a467 100644 --- a/code/ARAX/ARAXQuery/Filter_KG/remove_nodes.py +++ b/code/ARAX/ARAXQuery/Filter_KG/remove_nodes.py @@ -156,6 +156,28 @@ def remove_orphaned_nodes(self): return self.response + def _is_general_concept(self, node): + curies = set() + synonyms = set() + if not node['attributes']: + return False + for attribute in node['attributes']: + if attribute['attribute_type_id'] == 'biolink:xref' and isinstance(attribute.get('value', []),list): + curies.update(map(str.lower, attribute.get('value', []))) + if attribute['attribute_type_id'] == 'biolink:synonym' and isinstance(attribute.get('value', []),list): + synonyms.update(map(str.lower, attribute.get('value', []))) + if node['name']: + synonyms.add(node['name'].lower()) + if self.block_list_curies.intersection(curies) or self.block_list_synonyms.intersection(synonyms): + return True + + for synonym in synonyms: + if not isinstance(synonym,str): + continue + if any(p.match(synonym) for p in self.block_list_patterns): + return True + return False + def remove_general_concept_nodes(self): node_params = self.node_parameters if 'perform_action' not in node_params: @@ -177,44 +199,31 @@ def remove_general_concept_nodes(self): file_name = 'general_concepts.json' with open(blocklist_file_path) as fp: block_list_dict = json.loads(fp.read()) - block_list_synonyms = set(block_list_dict["synonyms"]) - block_list_curies = set(block_list_dict["curies"]) - nodes_to_remove = set() - names = [] - for key, node in self.message.knowledge_graph.nodes.items(): - node_dict = node.to_dict() - synonyms = [] - curies = [] - if not node_dict['attributes']: + self.block_list_synonyms = set(block_list_dict["synonyms"]) + self.block_list_curies = set(block_list_dict["curies"]) + node_to_remove = set() + self.block_list_patterns = [re.compile(pattern,re.IGNORECASE) for pattern in block_list_dict["patterns"]] + # iterate over edges find edges connected to the nodes + edges_to_remove = [] + for key, edge in self.message.knowledge_graph.edges.items(): + if set({edge.subject, edge.object}).intersection(node_to_remove): + edges_to_remove.append(key) + continue - for attribute in node_dict['attributes']: - if attribute['attribute_type_id'] == 'biolink:xref': - curies += attribute.get('value',[]) - if attribute['attribute_type_id'] == 'biolink:synonym': - synonyms += attribute.get('value',[]) - if node_dict['name']: - synonyms.append(node_dict['name'].lower()) - if block_list_curies.intersection([curie.lower() for curie in curies if curie]): - nodes_to_remove.add(key) + subject_node = self.message.knowledge_graph.nodes[edge.subject].to_dict() + object_node = self.message.knowledge_graph.nodes[edge.object].to_dict() + + if self._is_general_concept(subject_node): + node_to_remove.add(edge.subject) + edges_to_remove.append(key) continue - for synonym in synonyms: - for block_list_synonym in block_list_synonyms: - if isinstance(synonym,str) and isinstance(block_list_synonym,str) and re.match(block_list_synonym, synonym,re.IGNORECASE): - nodes_to_remove.add(key) - - for key in nodes_to_remove: - del self.message.knowledge_graph.nodes[key] - self.response.info(f"Removed {len(nodes_to_remove)} nodes from the knowledge graph which are general concepts") - edges_to_remove = set() - # iterate over edges find edges connected to the nodes - for key, edge in self.message.knowledge_graph.edges.items(): - if edge.subject in nodes_to_remove or edge.object in nodes_to_remove: - edges_to_remove.add(key) - # remove edges - #self.message.knowledge_graph.edges = [val for idx, val in enumerate(self.message.knowledge_graph.edges) if idx not in edges_to_remove] - for key in edges_to_remove: - del self.message.knowledge_graph.edges[key] + if self._is_general_concept(object_node): + node_to_remove.add(edge.object) + edges_to_remove.append(key) + continue + for edge_id in edges_to_remove: + del self.message.knowledge_graph.edges[edge_id] self.remove_orphaned_nodes() except: tb = traceback.format_exc() diff --git a/code/ARAX/ARAXQuery/Infer/scripts/ExplianableDTD_db.py b/code/ARAX/ARAXQuery/Infer/scripts/ExplianableDTD_db.py index a176eba96..4e7811ee8 100644 --- a/code/ARAX/ARAXQuery/Infer/scripts/ExplianableDTD_db.py +++ b/code/ARAX/ARAXQuery/Infer/scripts/ExplianableDTD_db.py @@ -228,67 +228,131 @@ def create_indexes(self): self.logger.info(f"INFO: Creating INDEXes is completed") - def get_top_drugs_for_disease(self, disease_ids): - """get top drugs predicted by DTD model for given disease ids + def get_score_table(self, drug_curie_ids=None, disease_curie_ids=None): + """get the score table for given drug and/or disease curie ids Args: - disease_ids (str|list): a string of disease curie id or a list of disease curies, e.g. "MONDO:0008753" or ["MONDO:0008753","MONDO:0005148","MONDO:0005155"] + drug_curie_ids (str|list): a string of drug curie id or a list of drug curies, e.g. "CHEMBL.COMPOUND:CHEMBL55643" or ["CHEMBL.COMPOUND:CHEMBL55643","CHEBI:6908"] + disease_curie_ids (str|list): a string of disease curie id or a list of disease curies, e.g. "MONDO:0008753" or ["MONDO:0008753","MONDO:0005148","MONDO:0005155"] Returns: - top_drugs (pd.DataFrame): the top drugs predicted by DTD model for given disease ids + res_table (pd.DataFrame): the score table for given drug and/or disease curie ids """ - - cursor = self.connection.cursor() - columns = ["drug_id","drug_name","disease_id","disease_name","tn_score","tp_score","unknown_score"] - if isinstance(disease_ids, str): - cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where disease_id='{disease_ids}';") - res = cursor.fetchall() - top_drugs= pd.DataFrame(res, columns=columns) - return top_drugs - elif isinstance(disease_ids, list): - cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where disease_id in {tuple(set(disease_ids))};") - res = cursor.fetchall() - top_drugs = pd.DataFrame(res, columns=columns) - return top_drugs + + if drug_curie_ids or disease_curie_ids: + cursor = self.connection.cursor() + columns = ["drug_id","drug_name","disease_id","disease_name","tn_score","tp_score","unknown_score"] + if drug_curie_ids and disease_curie_ids: + if isinstance(drug_curie_ids, str) and isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id='{drug_curie_ids}' and disease_id='{disease_curie_ids}';") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + elif isinstance(drug_curie_ids, list) and isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id in {tuple(set(drug_curie_ids))} and disease_id in {tuple(set(disease_curie_ids))};") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + elif isinstance(drug_curie_ids, str) and isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id='{drug_curie_ids}' and disease_id in {tuple(set(disease_curie_ids))};") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + elif isinstance(drug_curie_ids, list) and isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id in {tuple(set(drug_curie_ids))} and disease_id='{disease_curie_ids}';") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + else: + print("The 'drug_curie_ids' and 'disease_curie_ids' in get_score_table should be a string or a list", flush=True) + return pd.DataFrame([], columns=columns) + elif drug_curie_ids: + if isinstance(drug_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id='{drug_curie_ids}';") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + elif isinstance(drug_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where drug_id in {tuple(set(drug_curie_ids))};") + res = cursor.fetchall() + return pd.DataFrame(res, columns=columns) + else: + print("The 'drug_curie_ids' in get_score_table should be a string or a list", flush=True) + return pd.DataFrame([], columns=columns) + elif disease_curie_ids: + if isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where disease_id='{disease_curie_ids}';") + res = cursor.fetchall() + res_table = pd.DataFrame(res, columns=columns) + elif isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,tn_score,tp_score,unknown_score from PREDICTION_SCORE_TABLE where disease_id in {tuple(set(disease_curie_ids))};") + res = cursor.fetchall() + res_table = pd.DataFrame(res, columns=columns) + else: + print("The 'disease_curie_ids' in get_score_table should be a string or a list", flush=True) + res_table = pd.DataFrame([], columns=columns) + return res_table else: - print("The 'dataset_id' in get_top_drugs_for_disease should be a string or a list", flush=True) - top_drugs = pd.DataFrame([], columns=columns) - return top_drugs + print("Please provide at least one of drug_curie_ids or disease_curie_ids", flush=True) + return pd.DataFrame([], columns=columns) - def get_top_paths_for_disease(self, disease_ids): - """get top paths predicted by DTD model for given disease ids + def get_top_path(self, drug_curie_ids=None, disease_curie_ids=None): + """get the top path for given drug and/or disease curie ids Args: - disease_ids (str|list): a string of disease curie id or a list of disease curies, e.g. "MONDO:0008753" or ["MONDO:0008753","MONDO:0005148","MONDO:0005155"] + drug_curie_ids (str|list): a string of drug curie id or a list of drug curies, e.g. "CHEMBL.COMPOUND:CHEMBL55643" or ["CHEMBL.COMPOUND:CHEMBL55643","CHEBI:6908"] + disease_curie_ids (str|list): a string of disease curie id or a list of disease curies, e.g. "MONDO:0008753" or ["MONDO:0008753","MONDO:0005148","MONDO:0005155"] Returns: - top_paths (dict): the top paths predicted by DTD model for given disease ids + top_paths (dict): the top paths for given drug and/or disease curie ids """ - - cursor = self.connection.cursor() - columns = ["drug_id","drug_name","disease_id","disease_name","path","path_score"] - top_paths = dict() - if isinstance(disease_ids, str): - cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where disease_id='{disease_ids}';") - res = cursor.fetchall() - temp_df = pd.DataFrame(res, columns=columns) - for drug_id, disease_id in temp_df[['drug_id','disease_id']].drop_duplicates().values: - temp = np.array(temp_df.loc[(temp_df['drug_id']==drug_id) & (temp_df['disease_id']==disease_id),['path','path_score']].values).tolist() - if len(temp) > 0: - top_paths[(drug_id, disease_id)] = temp - return top_paths - elif isinstance(disease_ids, list): - cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where disease_id in {tuple(set(disease_ids))};") - res = cursor.fetchall() - temp_df = pd.DataFrame(res, columns=columns) - for drug_id, disease_id in temp_df[['drug_id','disease_id']].drop_duplicates().values: - temp = np.array(temp_df.loc[(temp_df['drug_id']==drug_id) & (temp_df['disease_id']==disease_id),['path','path_score']].values).tolist() - if len(temp) > 0: - top_paths[(drug_id, disease_id)] = temp - return top_paths + if drug_curie_ids or disease_curie_ids: + cursor = self.connection.cursor() + columns = ["drug_id","drug_name","disease_id","disease_name","path","path_score"] + top_paths = dict() + if drug_curie_ids and disease_curie_ids: + if isinstance(drug_curie_ids, str) and isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id='{drug_curie_ids}' and disease_id='{disease_curie_ids}';") + self._extracted_from_get_top_path(cursor, columns, top_paths) + elif isinstance(drug_curie_ids, list) and isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id in {tuple(set(drug_curie_ids))} and disease_id in {tuple(set(disease_curie_ids))};") + self._extracted_from_get_top_path(cursor, columns, top_paths) + elif isinstance(drug_curie_ids, str) and isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id='{drug_curie_ids}' and disease_id in {tuple(set(disease_curie_ids))};") + self._extracted_from_get_top_path(cursor, columns, top_paths) + elif isinstance(drug_curie_ids, list) and isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id in {tuple(set(drug_curie_ids))} and disease_id='{disease_curie_ids}';") + self._extracted_from_get_top_path(cursor, columns, top_paths) + else: + print("The 'drug_curie_ids' and 'disease_curie_ids' in get_top_path should be a string or a list", flush=True) + return top_paths + elif drug_curie_ids: + if isinstance(drug_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id='{drug_curie_ids}';") + self._extracted_from_get_top_path(cursor, columns, top_paths) + elif isinstance(drug_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where drug_id in {tuple(set(drug_curie_ids))};") + self._extracted_from_get_top_path(cursor, columns, top_paths) + else: + print("The 'drug_curie_ids' in get_top_path should be a string or a list", flush=True) + return top_paths + elif disease_curie_ids: + if isinstance(disease_curie_ids, str): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where disease_id='{disease_curie_ids}';") + self._extracted_from_get_top_path(cursor, columns, top_paths) + elif isinstance(disease_curie_ids, list): + cursor.execute(f"select drug_id,drug_name,disease_id,disease_name,path,path_score from PATH_RESULT_TABLE where disease_id in {tuple(set(disease_curie_ids))};") + self._extracted_from_get_top_path(cursor, columns, top_paths) + else: + print("The 'disease_curie_ids' in get_top_path should be a string or a list", flush=True) + + return top_paths else: - print("The 'dataset_id' in get_top_drugs_for_disease should be a string or a list", flush=True) - return top_paths + print("Please provide at least one of drug_curie_ids or disease_curie_ids", flush=True) + return dict() + + def _extracted_from_get_top_path(self, cursor, columns, top_paths): + res = cursor.fetchall() + temp_df = pd.DataFrame(res, columns=columns) + for drug_id, disease_id in temp_df[['drug_id','disease_id']].drop_duplicates().values: + temp = np.array(temp_df.loc[(temp_df['drug_id']==drug_id) & (temp_df['disease_id']==disease_id),['path','path_score']].values).tolist() + if len(temp) > 0: + top_paths[(drug_id, disease_id)] = temp #################################################################################################### diff --git a/code/ARAX/ARAXQuery/Infer/scripts/creativeCRG.py b/code/ARAX/ARAXQuery/Infer/scripts/creativeCRG.py index d94f7d3e0..ab6c3df42 100644 --- a/code/ARAX/ARAXQuery/Infer/scripts/creativeCRG.py +++ b/code/ARAX/ARAXQuery/Infer/scripts/creativeCRG.py @@ -8,7 +8,6 @@ import requests # import graph_tool.all as gt from tqdm import tqdm, trange - pathlist = os.getcwd().split(os.path.sep) RTXindex = pathlist.index("RTX") sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'ARAXQuery'])) @@ -18,15 +17,58 @@ import openapi_server sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'NodeSynonymizer'])) from node_synonymizer import NodeSynonymizer -from kg2_querier import KG2Querier sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code'])) from RTXConfiguration import RTXConfiguration RTXConfig = RTXConfiguration() sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'ARAXQuery',''])) +sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code', 'ARAX', 'BiolinkHelper',''])) +from biolink_helper import BiolinkHelper +from openapi_server.models.edge import Edge +from openapi_server.models.qualifier import Qualifier +from openapi_server.models.retrieval_source import RetrievalSource +def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) + +def _convert_kg2c_plover_edge_to_trapi_edge(edge_tuple: list) -> Edge: + edge = Edge(subject=edge_tuple[0], object=edge_tuple[1], predicate=edge_tuple[2]) + primary_knowledge_source = edge_tuple[3] + qualified_predicate = edge_tuple[4] + qualified_object_direction = edge_tuple[5] + qualified_object_aspect = edge_tuple[6] + + sources = list() + # Add this edge's primary knowledge source + sources.append(RetrievalSource(resource_id=primary_knowledge_source, + resource_role="primary_knowledge_source")) + + # Indicate that this edge came from the KG2 KP + sources.append(RetrievalSource(resource_id="infores:rtx-kg2", + resource_role="aggregator_knowledge_source", + upstream_resource_ids=[primary_knowledge_source])) + edge.sources = sources + + # Add any qualifiers as appropriate + qualifiers = [] + if qualified_predicate: + predicate_qualifier = Qualifier(qualifier_type_id="biolink:qualified_predicate", + qualifier_value=qualified_predicate) + qualifiers.append(predicate_qualifier) + if qualified_object_direction: + direction_qualifier = Qualifier(qualifier_type_id="biolink:object_direction_qualifier", + qualifier_value=qualified_object_direction) + qualifiers.append(direction_qualifier) + if qualified_object_aspect: + aspect_qualifier = Qualifier(qualifier_type_id="biolink:object_aspect_qualifier", + qualifier_value=qualified_object_aspect) + qualifiers.append(aspect_qualifier) + if qualifiers: + edge.qualifiers = qualifiers + + return edge def call_plover(curies: List, respect_predicate_symmetry: bool=False): json = {} plover_url = RTXConfig.plover_url + status_code = 500 endpoint = "/query" body = { "edges": { @@ -48,33 +90,12 @@ def call_plover(curies: List, respect_predicate_symmetry: bool=False): } try: response = requests.post(plover_url + endpoint, headers={'accept': 'application/json'}, json=body) + status_code = response.status_code json = response.json() except Exception as e: pass - return json - -# class TFDatabase: -# def __init__(self): -# database = '/Users/kevin/Documents/GitHub/RTX/code/ARAX/ARAXQuery/Infer/data/xCRG_data/tf_db_kg2.10.0.db' -# self.connection = sqlite3.connect(database) -# self.connection.row_factory = sqlite3.Row - -# def _query_database(self, query): -# cursor = self.connection.cursor() -# cursor.execute(query) -# res = cursor.fetchall() -# return res - -# # def get_tf_neighbors(self): -# # query = "select * from edges ;" -# # return self._query_database(query) - -# def __del__(self): -# try: -# self.connection.commit() -# self.connection.close() -# except: -# pass + return status_code, json + def load_ML_CRGmodel(response: ARAXResponse, model_path: str, model_type: str): @@ -164,6 +185,16 @@ def __init__(self, response: ARAXResponse, data_path: str): ## set up parameters self.response = response + self.bh = BiolinkHelper() + self.predicate_depth_map = self.bh.get_predicate_depth_map() + self.relevant_node_categories = ['biolink:Drug', 'biolink:PathologicalProcess', 'biolink:GeneOrGeneProduct', 'biolink:ChemicalEntity', + 'biolink:SmallMolecule', 'biolink:Gene', 'biolink:BiologicalProcess', 'biolink:Pathway', 'biolink:Disease', + 'biolink:Transcript', 'biolink:Cell', 'biolink:GeneFamily', 'biolink:GeneProduct', 'biolink:Exon', + 'biolink:DiseaseOrPhenotypicFeature', 'biolink:PhenotypicFeature', 'biolink:MolecularActivity', 'biolink:GeneGroupingMixin', + 'biolink:CellularComponent', 'biolink:RNAProduct', 'biolink:Protein', 'biolink:BiologicalProcessOrActivity', 'biolink:PhysiologicalProcess', + 'biolink:NoncodingRNAProduct', 'biolink:ProteinFamily', 'biolink:ProteinDomain'] + self.relevant_node_categories = self.bh.get_descendants(self.relevant_node_categories) + self.data_path = data_path self.chemical_type = ['biolink:ChemicalEntity', 'biolink:ChemicalMixture','biolink:SmallMolecule'] self.gene_type = ['biolink:Gene','biolink:Protein'] @@ -205,13 +236,14 @@ def __init__(self, response: ARAXResponse, data_path: str): self.tf_list = json.loads(fp.read())['tf'] def get_tf_neighbors(self): - response = call_plover(self.tf_list,respect_predicate_symmetry=False) + status_code, response = call_plover(self.tf_list,respect_predicate_symmetry=False) edges = response.get("edges",{}).get("e00",{}) query_tf_neighbor_data = [] answer_tf_neigbor_data = [] for edge in edges.keys(): c1 = edges[edge][0] c2 = edges[edge][1] + depth = self.predicate_depth_map[edges[edge][2]] if 'subclass' in edges[edge][2]: continue if c1 == c2: @@ -219,15 +251,14 @@ def get_tf_neighbors(self): if c1 in self.tf_list: curie = c2 tf = c1 - answer_tf_neigbor_data.append({"edge_id": edge, "transcription_factor":tf, "neighbour": curie}) + answer_tf_neigbor_data.append({"edge_id": edge, "transcription_factor":tf, "neighbour": curie, "depth": depth}) if c2 in self.tf_list: curie = c1 tf = c2 - query_tf_neighbor_data.append({"edge_id": edge, "transcription_factor":tf, "neighbour": curie}) - return query_tf_neighbor_data,answer_tf_neigbor_data, edges + query_tf_neighbor_data.append({"edge_id": edge, "transcription_factor":tf, "neighbour": curie, "depth": depth}) + return status_code, query_tf_neighbor_data,answer_tf_neigbor_data, edges def add_node_ids_to_path(self, paths, tf_edges,chemical_edges, gene_edges): - kg2_querier = KG2Querier(self.response, RTXConfig.plover_url) tf_edges.update(chemical_edges['edges']['e00']) tf_edges.update(gene_edges['edges']['e00']) final_paths = {} @@ -239,10 +270,12 @@ def add_node_ids_to_path(self, paths, tf_edges,chemical_edges, gene_edges): _path_to_add = [query] for edge in path: plover_edge = tf_edges[edge] - trapi_edge = kg2_querier._convert_kg2c_plover_edge_to_trapi_edge(plover_edge) + trapi_edge = _convert_kg2c_plover_edge_to_trapi_edge(plover_edge) _path_to_add.append({edge:trapi_edge}) _path_to_add.append(plover_edge[1]) final_paths[(query,answer)].append(_path_to_add) + if len(final_paths[(query,answer)]) == 0: + del final_paths[(query,answer)] return final_paths @@ -254,7 +287,9 @@ def get_preferred_curies(self, curies: list): return preferred_curies normalizer_res = self.synonymizer.get_canonical_curies(curies) for curie in curies: - preferred_curies[curie] = normalizer_res.get(curie,{}).get('preferred_curie',None) + synonymizer_result = normalizer_res.get(curie) + if synonymizer_result is not None: + preferred_curies[curie] = synonymizer_result.get('preferred_curie',None) return preferred_curies def predict_top_N_chemicals(self, query_gene: str, N: int = 10, threshold: float = 0.5, model_type: str = 'increase'): @@ -481,12 +516,22 @@ def _check_params(query_chemical: Optional[str], query_gene: Optional[str], mode self.response.warning(f"There is no chemical-gene pair satisfying the requirement of top {N} with threshold >={threshold}. Perhaps try using more loose threshold.") return None top_paths = dict() - chemical_neighbors = call_plover([query_chemical]) + status_code, chemical_neighbors = call_plover([query_chemical]) + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None answers = res['gene_id'].tolist() self.preferred_curies = self.get_preferred_curies(answers) + self.preferred_to_original_curie = {value: key for key, value in self.preferred_curies.items() if value} valid_genes = [item for item in self.preferred_curies.values() if item] - gene_neighbors = call_plover(valid_genes) - query_tf_neighbors, answer_tf_neigbors, tf_edges = self.get_tf_neighbors() + status_code, gene_neighbors = call_plover(valid_genes) + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None + status_code, query_tf_neighbors, answer_tf_neigbors, tf_edges = self.get_tf_neighbors() + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None paths = self.get_paths(preferred_query_chemical, res['gene_id'].tolist(), chemical_neighbors, gene_neighbors, query_tf_neighbors, answer_tf_neigbors, self.tf_list, M) @@ -507,12 +552,23 @@ def _check_params(query_chemical: Optional[str], query_gene: Optional[str], mode else: top_paths = dict() - gene_neighbors = call_plover([preferred_query_gene]) + + status_code, gene_neighbors = call_plover([preferred_query_gene]) + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None answers = res['chemical_id'].tolist() self.preferred_curies = self.get_preferred_curies(answers) + self.preferred_to_original_curie = {value: key for key, value in self.preferred_curies.items() if value} valid_chemicals = [item for item in self.preferred_curies.values() if item] - chemical_neighbors = call_plover(valid_chemicals) - query_tf_neighbors, answer_tf_neigbors, tf_edges = self.get_tf_neighbors() + status_code, chemical_neighbors = call_plover(valid_chemicals) + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None + status_code, query_tf_neighbors, answer_tf_neigbors, tf_edges = self.get_tf_neighbors() + if status_code != 200: + self.response.warning(f"Could not get answers from Plover. Plover responded with status code: {status_code}") + return None paths = self.get_paths(preferred_query_gene, res['chemical_id'].tolist(), gene_neighbors, chemical_neighbors, query_tf_neighbors, answer_tf_neigbors,self.tf_list, M) final_paths = self.add_node_ids_to_path(paths, tf_edges, chemical_neighbors, gene_neighbors) @@ -520,66 +576,122 @@ def _check_params(query_chemical: Optional[str], query_gene: Optional[str], mode def get_paths(self, query_curie, answer_curies, query_neighbors, answer_neighbors, query_tf_neighbors, answer_tf_neighbors, tf_list,n_paths): - query_neighbors_curies = list(query_neighbors['nodes']['n01'].keys()) query_tf_neighbors_dict = {} answer_tf_neighbors_dict = {} query_path = {} answer_path = {} combined_path = dict() - one_hop_from_query = set(tf_list).intersection(query_neighbors_curies) + valid_query_tf_list = [] + valid_answer_tf_list = {} + for answer in answer_curies: + valid_answer_tf_list[answer] = [] + edges_to_ignore = set() + for edge_id, edge in answer_neighbors['edges']['e00'].items(): + if edge[1] not in self.preferred_to_original_curie: + continue + if edge[0] == query_curie or edge[1] == query_curie: + edges_to_ignore.add(edge_id) + continue + relevant_node = False + answer = self.preferred_to_original_curie[edge[1]] + neighbor = edge[0] + # ignoring lookup edges + if neighbor == query_curie: + edges_to_ignore.add(edge_id) + continue + neighbor_category = answer_neighbors['nodes']['n01'][neighbor][1] + if neighbor_category in self.relevant_node_categories: + relevant_node = True + # one hop from answer + if answer not in answer_path: + answer_path[answer] = dict() + if neighbor in tf_list and neighbor not in answer_path[answer]: + valid_answer_tf_list[answer].append(neighbor) + answer_path[answer][neighbor] = [edge_id, self.predicate_depth_map[edge[2]]] + elif neighbor in tf_list and neighbor in answer_path[answer]: + if answer_path[answer][neighbor][-1] < self.predicate_depth_map[edge[2]]: + answer_path[answer][neighbor] = [edge_id, self.predicate_depth_map[edge[2]]] + + # two hop from answer + for item in answer_tf_neighbors_dict.get(neighbor,[]): + neighbor_category = answer_neighbors['nodes']['n01'][neighbor][1] + if relevant_node and item[1] not in valid_answer_tf_list[answer]: + valid_answer_tf_list[answer].append(item[1]) + if item[1] not in answer_path[answer]: + answer_path[answer][item[1]] = [item[0],edge_id, item[2]] + elif answer_path[answer][item[1]][-1] < item[2] and ((item[1] not in valid_answer_tf_list[answer]) or relevant_node): + answer_path[answer][item[1]] = [item[0], edge_id, min(item[2],self.predicate_depth_map[edge[2]])] + for record in query_tf_neighbors: - query_tf_neighbors_dict[record['neighbour']] = query_tf_neighbors_dict.get(record['neighbour'],[]) + [(record['edge_id'],record['transcription_factor'])] + if record['edge_id'] in edges_to_ignore: + continue + query_tf_neighbors_dict[record['neighbour']] = query_tf_neighbors_dict.get(record['neighbour'],[]) + [(record['edge_id'],record['transcription_factor'], record['depth'])] for record in answer_tf_neighbors: - answer_tf_neighbors_dict[record['neighbour']] = answer_tf_neighbors_dict.get(record['neighbour'],[]) + [(record['edge_id'],record['transcription_factor'])] + if record['edge_id'] in edges_to_ignore: + continue + answer_tf_neighbors_dict[record['neighbour']] = answer_tf_neighbors_dict.get(record['neighbour'],[]) + [(record['edge_id'],record['transcription_factor'], record['depth'])] # one hop from query for edge_id, edge in query_neighbors['edges']['e00'].items(): + if edge_id in edges_to_ignore: + continue + if edge[0] in self.preferred_to_original_curie or edge[1] in self.preferred_to_original_curie: + continue + if (edge[1] == query_curie and edge[0] in self.preferred_to_original_curie) or (edge[0] == query_curie and edge[1] in self.preferred_to_original_curie): + continue if edge[1] in tf_list and edge[1] not in query_path: - query_path[edge[1]] = [edge_id] - + valid_query_tf_list.append(edge[1]) + query_path[edge[1]] = [edge_id,self.predicate_depth_map[edge[2]]] + elif edge[1] in tf_list and edge[1] in query_path: + if query_path[edge[1]][-1] < self.predicate_depth_map[edge[2]]: + query_path[edge[1]] = [edge_id,self.predicate_depth_map[edge[2]]] # two hop from query for edge_id, edge in query_neighbors['edges']['e00'].items(): + if edge[0] in self.preferred_to_original_curie or edge[1] in self.preferred_to_original_curie: + continue if edge[0] != query_curie: continue + relevant_node = False neighbor = edge[1] + neighbor_category = query_neighbors['nodes']['n01'][neighbor][1] + if neighbor_category in self.relevant_node_categories: + relevant_node = True + for item in query_tf_neighbors_dict.get(neighbor,[]): + if item[1] not in valid_query_tf_list and relevant_node: + valid_query_tf_list.append(item[1]) if item[1] not in query_path: - query_path[item[1]] = [edge_id,item[0]] + query_path[item[1]] = [edge_id,item[0], item[2]] + elif query_path[item[1]][-1] < min(item[2],self.predicate_depth_map[edge[2]]) and ((item[1] not in valid_query_tf_list) or relevant_node) : + query_path[item[1]] = [edge_id,item[0], min(item[2],self.predicate_depth_map[edge[2]])] + - for edge_id, edge in answer_neighbors['edges']['e00'].items(): - if edge[1] not in self.preferred_curies.values(): - continue - answer = edge[1] - neighbor = edge[0] - # one hop from answer - if answer not in answer_path: - answer_path[answer] = dict() - if neighbor in tf_list: - answer_path[answer][neighbor] = [edge_id] - - # two hop from answer - for item in answer_tf_neighbors_dict.get(neighbor,[]): - if item[1] not in answer_path[answer]: - answer_path[answer][item[1]] = [item[0],edge_id] - # joining paths for answer in answer_curies: combined_path[(query_curie,answer)] = list() - if not self.preferred_curies[answer]: + if answer not in self.preferred_curies or not self.preferred_curies[answer]: continue - key = self.preferred_curies[answer] + key = answer if key not in answer_path: continue path_counter = 0 - for tf in tf_list: + relevant_tf = list(set(valid_query_tf_list).intersection(valid_answer_tf_list[answer])) + irrelevant_tf = [tf for tf in tf_list if tf not in relevant_tf] + for tf in relevant_tf: if path_counter > n_paths: break if tf in query_path and tf in answer_path[key]: - combined_path[(query_curie,answer)].append(query_path[tf] + answer_path[key][tf]) + combined_path[(query_curie,answer)].append(query_path[tf][:-1] + answer_path[key][tf][:-1]) path_counter += 1 + for tf in irrelevant_tf: + if path_counter > n_paths: + break + if tf in query_path and tf in answer_path[key]: + combined_path[(query_curie,answer)].append(query_path[tf][:-1] + answer_path[key][tf][:-1]) + path_counter += 1 return combined_path diff --git a/code/ARAX/ARAXQuery/Infer/scripts/infer_utilities.py b/code/ARAX/ARAXQuery/Infer/scripts/infer_utilities.py index fe92d4376..6d63bd90f 100644 --- a/code/ARAX/ARAXQuery/Infer/scripts/infer_utilities.py +++ b/code/ARAX/ARAXQuery/Infer/scripts/infer_utilities.py @@ -91,9 +91,9 @@ def resultify_and_sort(self, essence_scores): f"Error retrieving score for result essence {result.essence}. Setting result score to None.") message.results.sort(key=lambda x: self.__none_to_zero(x.score), reverse=True) - def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFrame, top_paths: dict, qedge_id=None, kedge_global_iter: int=0, qedge_global_iter: int=0, qnode_global_iter: int=0, option_global_iter: int=0): + def genrete_treat_subgraphs(self, response: ARAXResponse, top_scores: pd.DataFrame, top_paths: dict, qedge_id=None, kedge_global_iter: int=0, qedge_global_iter: int=0, qnode_global_iter: int=0, option_global_iter: int=0): """ - top_drugs and top_paths returned by Chunyu's createDTD.py code (predict_top_n_drugs and predict_top_m_paths respectively). + top_scores and top_paths returned by Chunyu's creativeDTD.py code (get_score_table and get_top_path respectively). Ammends the response effectively TRAPI-ifying the paths returned by Chunyu's code. May not work on partially filled out response (as it assumes fresh QG and KG, i.e. not stuff partially filled out). The *_global_iter vars are to keep count of qedge and kedge if this is run multiple times. But see previous line for proviso. @@ -133,8 +133,8 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram if len(message.query_graph.edges) !=0 and not hasattr(self.response, 'original_query_graph'): self.response.original_query_graph = copy.deepcopy(message.query_graph) - disease_curie = top_drugs['disease_id'].tolist()[0] - disease_name = top_drugs['disease_name'].tolist()[0] + disease_curie = top_scores['disease_id'].tolist()[0] + disease_name = top_scores['disease_name'].tolist()[0] disease_info = xdtdmapping.get_node_info(node_id=disease_curie) if disease_info is None: self.response.warning(f"Could not find {disease_curie} in NODE_MAPPING table due to using refreshed xDTD database") @@ -195,8 +195,8 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram # If the max path len is 0, that means there are no paths found, so just insert the drugs with the probability_treats on them if max_path_len == 0: essence_scores = {} - node_ids = top_drugs['drug_id'] - node_id_to_score = dict(zip(node_ids, top_drugs['tp_score'])) + node_ids = top_scores['drug_id'] + node_id_to_score = dict(zip(node_ids, top_scores['tp_score'])) # Add the drugs to the knowledge graph for drug_canonical_id in node_ids: try: @@ -223,8 +223,9 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge is a container for a computed value between two nodes that is not directly attachable to other edges."), - Attribute(attribute_type_id="EDAM-DATA:0951", original_attribute_name="probability_treats", - value=str(treat_score)) + Attribute(attribute_type_id="EDAM-DATA:0951", original_attribute_name="probability_treats", value=str(treat_score)), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] retrieval_source = [ RetrievalSource(resource_id="infores:arax", resource_role="primary_knowledge_source") @@ -339,7 +340,9 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram new_edge = Edge(subject=subject_curie, object=object_curie, predicate=predicate, attributes=[], sources=[]) ## add attributes to the path-based edge edge_attribute_list = [ - Attribute(original_attribute_name="defined_datetime", value=datetime.now().strftime("%Y-%m-%d %H:%M:%S"), attribute_type_id="metatype:Datetime") + Attribute(original_attribute_name="defined_datetime", value=datetime.now().strftime("%Y-%m-%d %H:%M:%S"), attribute_type_id="metatype:Datetime"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] if predicate == "biolink:self_loop_relation": edge_attribute_list += [ @@ -350,7 +353,7 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram ] else: edge_attribute_list += [ - Attribute(original_attribute_name=None, value=True, attribute_type_id="EDAM-DATA:1772", attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge was extracted from RTX-KG2.8.4c by ARAXInfer."), + Attribute(original_attribute_name=None, value=True, attribute_type_id="EDAM-DATA:1772", attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge was extracted from RTX-KG2.10.0c by ARAXInfer."), ] retrieval_source = [ RetrievalSource(resource_id=primary_knowledge_source, resource_role="primary_knowledge_source"), @@ -366,14 +369,16 @@ def genrete_treat_subgraphs(self, response: ARAXResponse, top_drugs: pd.DataFram break path_added = True if path_added: - treat_score = top_drugs.loc[top_drugs['drug_id'] == drug]["tp_score"].iloc[0] + treat_score = top_scores.loc[top_scores['drug_id'] == drug]["tp_score"].iloc[0] drug_node_info = xdtdmapping.get_node_info(node_id=drug_curie) disease_node_info = xdtdmapping.get_node_info(node_id=disease_curie) essence_scores[drug_node_info.name] = treat_score edge_attribute_list = [ Attribute(original_attribute_name="defined_datetime", value=datetime.now().strftime("%Y-%m-%d %H:%M:%S"), attribute_type_id="metatype:Datetime"), Attribute(original_attribute_name=None, value=True, attribute_type_id="EDAM-DATA:1772", attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge is a container for a computed value between two nodes that is not directly attachable to other edges."), - Attribute(attribute_type_id="EDAM-DATA:0951", original_attribute_name="probability_treats", value=str(treat_score)) + Attribute(attribute_type_id="EDAM-DATA:0951", original_attribute_name="probability_treats", value=str(treat_score)), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] retrieval_source = [ RetrievalSource(resource_id="infores:arax", resource_role="primary_knowledge_source") @@ -605,8 +610,9 @@ def genrete_regulate_subgraphs(self, response: ARAXResponse, query_chemical: Opt attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge is a container for a computed value between two nodes that is not directly attachable to other edges."), - Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", - value=str(prob_score)) + Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", value=str(prob_score)), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] retrieval_source = [ RetrievalSource(resource_id="infores:arax", resource_role="primary_knowledge_source") @@ -655,7 +661,9 @@ def genrete_regulate_subgraphs(self, response: ARAXResponse, query_chemical: Opt attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge is a container for a computed value between two nodes that is not directly attachable to other edges."), - Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", value=str(prob_score)) + Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", value=str(prob_score)), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] if model_type == 'increase': edge_qualifier_direction = 'increased' @@ -750,7 +758,7 @@ def genrete_regulate_subgraphs(self, response: ARAXResponse, query_chemical: Opt message.knowledge_graph.nodes[object_curie].qnode_keys.append(object_qnode_key) new_edge = edge_tuples[i][1] for key in new_edge: - edge_name = decorator._get_kg2c_edge_key(new_edge[key]) + edge_name = 'infores:rtx-kg2:' + decorator._get_kg2c_edge_key(new_edge[key]) message.knowledge_graph.edges[edge_name] = new_edge[key] message.knowledge_graph.edges[edge_name].qedge_keys = [path_keys[path_idx]["qedge_keys"][i]] @@ -769,7 +777,9 @@ def genrete_regulate_subgraphs(self, response: ARAXResponse, query_chemical: Opt edge_attribute_list = [ Attribute(original_attribute_name="defined_datetime", value=datetime.now().strftime("%Y-%m-%d %H:%M:%S"), attribute_type_id="metatype:Datetime"), Attribute(original_attribute_name=None, value=True, attribute_type_id="EDAM-DATA:1772", attribute_source="infores:arax", value_type_id="metatype:Boolean", value_url=None, description="This edge is a container for a computed value between two nodes that is not directly attachable to other edges."), - Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", value=str(regulate_score)) + Attribute(attribute_type_id="EDAM-OPERATION:2434", original_attribute_name=f"probably_{model_type}_activity", value=str(regulate_score)), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:agent_type", value="computational_model"), + Attribute(attribute_source="infores:arax", attribute_type_id="biolink:knowledge_level", value="prediction"), ] retrieval_source = [ RetrievalSource(resource_id="infores:arax", resource_role="primary_knowledge_source") diff --git a/code/ARAX/ARAXQuery/Path_Finder/BreadthFirstSearch.py b/code/ARAX/ARAXQuery/Path_Finder/BreadthFirstSearch.py index c7b122b93..33de679ed 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/BreadthFirstSearch.py +++ b/code/ARAX/ARAXQuery/Path_Finder/BreadthFirstSearch.py @@ -10,6 +10,14 @@ from repo.repo_factory import get_repo +def split_input(path): + ids = path.split("_") + links = [] + for i in range(0, len(ids) - 2): + links.append(Node(ids[i])) + return Path(int(ids[-2]), links), ids[-1] + + def get_path(path): ids = path.split("_") links = [] @@ -20,11 +28,11 @@ def get_path(path): def process_path(path_string): try: - path = get_path(path_string) + path, repo_name = split_input(path_string) result = [] if path.path_limit > 0: last_link = path.last() - repo = get_repo() + repo = get_repo(repo_name) node_degree = repo.get_node_degree(last_link) if node_degree > NODE_DEGREE_LIMIT: return path_string, result, None @@ -62,7 +70,7 @@ def traverse(self, source_id, hops_numbers=1): paths = [] for _ in range(4 * num_cores): if not path_queue.empty(): - paths.append(str(path_queue.get())) + paths.append(str(path_queue.get()) + "_" + self.repo_name) new_paths_list = pool.map(process_path, paths) diff --git a/code/ARAX/ARAXQuery/Path_Finder/converter/EdgeExtractorFromPloverDB.py b/code/ARAX/ARAXQuery/Path_Finder/converter/EdgeExtractorFromPloverDB.py index 5e83c7c56..576cd4145 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/converter/EdgeExtractorFromPloverDB.py +++ b/code/ARAX/ARAXQuery/Path_Finder/converter/EdgeExtractorFromPloverDB.py @@ -5,43 +5,49 @@ class EdgeExtractorFromPloverDB: def __init__(self, plover_url): self.plover_url = plover_url - self.edges = {} - self.nodes = {} + self.pairs_to_edge_ids = {} + self.knowledge_graph = {'edges': {}, 'nodes': {}} def get_extractor_url(self): return self.plover_url - def get_edges(self, node1_name, node1_id, node2_name, node2_id, edge_name, arax_response): - edge_key_1 = f"{node1_id}_{node2_id}" - edge_key_2 = f"{node2_id}_{node1_id}" - if edge_key_1 in self.edges: - return self.edges[edge_key_1] - if edge_key_2 in self.edges: - return self.edges[edge_key_2] - endpoint = "/query" - data = { - "edges": { - edge_name: { - "subject": node1_name, - "object": node2_name - } - }, - "nodes": { - node1_name: { - "ids": [node1_id, node2_id] - }, - node2_name: { - "ids": [node1_id, node2_id] - } - }, - "include_metadata": True, - "respect_predicate_symmetry": True - } + def get_edges(self, pairs, arax_response): + cached_pairs = [] + i = 0 + while i < len(pairs): + edge_key_1 = f"{pairs[i][0]}--{pairs[i][1]}" + edge_key_2 = f"{pairs[i][1]}--{pairs[i][0]}" + if edge_key_1 in self.pairs_to_edge_ids: + cached_pairs.append(edge_key_1) + del pairs[i] + elif edge_key_2 in self.pairs_to_edge_ids: + cached_pairs.append(edge_key_2) + del pairs[i] + else: + i += 1 + + url = self.plover_url + "/get_edges" + query = {"pairs": pairs} try: - response = requests.post(self.plover_url + endpoint, headers={'accept': 'application/json'}, json=data) - json = response.json() - self.edges[edge_key_1] = json - return json + knowledge_graph = {'edges': {}, 'nodes': {}} + if len(pairs) != 0: + response = requests.post(url, headers={'accept': 'application/json'}, json=query) + json = response.json() + self.pairs_to_edge_ids.update(json["pairs_to_edge_ids"]) + knowledge_graph = json["knowledge_graph"] + self.knowledge_graph['edges'].update(knowledge_graph['edges']) + self.knowledge_graph['nodes'].update(knowledge_graph['nodes']) + for cached_pair in cached_pairs: + list_of_edges = self.pairs_to_edge_ids[cached_pair] + cached_nodes = cached_pair.split("--") + if cached_nodes[0] in self.knowledge_graph['nodes']: + knowledge_graph['nodes'][cached_nodes[0]] = self.knowledge_graph['nodes'][cached_nodes[0]] + if cached_nodes[1] in self.knowledge_graph['nodes']: + knowledge_graph['nodes'][cached_nodes[1]] = self.knowledge_graph['nodes'][cached_nodes[1]] + for edge in list_of_edges: + if str(edge) in self.knowledge_graph['edges']: + knowledge_graph['edges'][str(edge)] = self.knowledge_graph['edges'][str(edge)] + return knowledge_graph except Exception as e: - arax_response.warning(f"Cannot retrieve {data} from plover DB with error: {e}") + arax_response.warning(f"Cannot retrieve {query} from plover DB with url: {url}, Error: {e}") return None diff --git a/code/ARAX/ARAXQuery/Path_Finder/converter/GraphToKnowledgeGraphConverter.py b/code/ARAX/ARAXQuery/Path_Finder/converter/GraphToKnowledgeGraphConverter.py index 5ee0b08cb..003608881 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/converter/GraphToKnowledgeGraphConverter.py +++ b/code/ARAX/ARAXQuery/Path_Finder/converter/GraphToKnowledgeGraphConverter.py @@ -1,14 +1,10 @@ import sys import os -from RTXConfiguration import RTXConfiguration -from kg2_querier import KG2Querier -import expand_utilities as eu sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../") from converter.PathListToGraphConverter import PathListToGraphConverter -from converter.SimpleGraphToContentGraphConverter import SimpleGraphToContentGraphConverter -from converter.EdgeExtractorFromPloverDB import EdgeExtractorFromPloverDB - +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../../../UI/OpenAPI/python-flask-server/") +from openapi_server.models.knowledge_graph import KnowledgeGraph class GraphToKnowledgeGraphConverter: @@ -25,17 +21,10 @@ def __init__( def convert(self, response, paths): nodes, edges = PathListToGraphConverter(self.qnode_1_id, self.qnode_2_id).convert(paths) - nodes, edges = SimpleGraphToContentGraphConverter( - self.edge_extractor - ).convert(nodes, edges, response) + pairs = [] + for _, edge in edges.items(): + pairs.append([nodes[edge[0]], nodes[edge[1]]]) + + knowledge_graph = self.edge_extractor.get_edges(pairs, response) - qg_organized_knowledge_graph = ( - KG2Querier(response, self.edge_extractor.get_extractor_url())._load_plover_answer_into_object_model( - { - "nodes": nodes, - "edges": edges - }, - response - ) - ) - return eu.convert_qg_organized_kg_to_standard_kg(qg_organized_knowledge_graph) + return KnowledgeGraph().from_dict(knowledge_graph) diff --git a/code/ARAX/ARAXQuery/Path_Finder/converter/HugeGraphConverter.py b/code/ARAX/ARAXQuery/Path_Finder/converter/HugeGraphConverter.py index 9d601b436..016c17aa9 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/converter/HugeGraphConverter.py +++ b/code/ARAX/ARAXQuery/Path_Finder/converter/HugeGraphConverter.py @@ -51,7 +51,13 @@ def convert(self, response): self.qnode_2_id, self.edge_extractor).convert(response, self.paths) - if (self.node_category_constraint != '' + if self.node_in_between_id in knowledge_graph_src_dest.nodes: + essence = knowledge_graph_src_dest.nodes[self.node_in_between_id].name + else: + response.warning(f"Could not find main node id name: {self.node_in_between_id} to fill essence variable!") + return + + if (self.node_category_constraint != 'biolink:NamedThing' and self.node_category_constraint not in knowledge_graph_src_dest.nodes[self.node_in_between_id].categories): return @@ -104,12 +110,6 @@ def convert(self, response): if response.envelope.message.results is None: response.envelope.message.results = [] - essence = '' - if self.node_in_between_id in knowledge_graph_src_dest.nodes: - essence = knowledge_graph_src_dest.nodes[self.node_in_between_id].name - else: - response.error("Could not find main node id name to fill essence variable!") - response.envelope.message.results.append( Result( id=self.names.result_name, diff --git a/code/ARAX/ARAXQuery/Path_Finder/converter/SimpleGraphToContentGraphConverter.py b/code/ARAX/ARAXQuery/Path_Finder/converter/SimpleGraphToContentGraphConverter.py deleted file mode 100644 index 4795363f0..000000000 --- a/code/ARAX/ARAXQuery/Path_Finder/converter/SimpleGraphToContentGraphConverter.py +++ /dev/null @@ -1,32 +0,0 @@ -import concurrent.futures - - -class SimpleGraphToContentGraphConverter: - - def __init__(self, edge_extractor): - self.nodes = {} - self.edges = {} - self.edge_extractor = edge_extractor - - def process_edge(self, edge_name, node_pair, nodes, edge_extractor, arax_response): - result = edge_extractor.get_edges(node_pair[0], nodes[node_pair[0]], node_pair[1], nodes[node_pair[1]], - edge_name, arax_response) - if result: - return result['nodes'], result['edges'] - return None, None - - def convert(self, nodes, edges, arax_response): - with concurrent.futures.ThreadPoolExecutor() as executor: - futures = { - executor.submit(self.process_edge, edge_name, node_pair, nodes, self.edge_extractor, - arax_response): edge_name - for edge_name, node_pair in edges.items() - } - - for future in concurrent.futures.as_completed(futures): - nodes_result, edges_result = future.result() - if nodes_result and edges_result: - self.nodes.update(nodes_result) - self.edges.update(edges_result) - - return self.nodes, self.edges diff --git a/code/ARAX/ARAXQuery/Path_Finder/converter/SuperNodeConverter.py b/code/ARAX/ARAXQuery/Path_Finder/converter/SuperNodeConverter.py index 33322478e..b2953e959 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/converter/SuperNodeConverter.py +++ b/code/ARAX/ARAXQuery/Path_Finder/converter/SuperNodeConverter.py @@ -56,7 +56,6 @@ def convert(self, response): ) for key, values in sorted_occurrence_list_by_node_id.items(): - response.envelope.message.query_graph.nodes[self.qnode_mid_id].ids.append(key) new_path = [] for value in values: new_path.append(self.paths[value]) diff --git a/code/ARAX/ARAXQuery/Path_Finder/feature_extractor.py b/code/ARAX/ARAXQuery/Path_Finder/feature_extractor.py new file mode 100644 index 000000000..4d16578de --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/feature_extractor.py @@ -0,0 +1,37 @@ +import sys +import os + +import numpy as np + +sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +from model.Node import Node + + +def get_neighbors_info(curie, node_synonymizer, ngd_repo, plover_repo): + curie_ngd_list = ngd_repo.get_curie_ngd(curie) + neighbors = plover_repo.get_neighbors(Node(id=curie)) + neighbors_id = [curie.id for curie in neighbors] + node_pmids_length = ngd_repo.get_curies_pmid_length(neighbors_id) + category_by_curie = node_synonymizer.get_curie_category(neighbors_id) + content_by_curie = {item: {'pmids': 0, 'ngd': None, 'category': None} for item in neighbors_id} + for curie, num_of_pmids in node_pmids_length: + content_by_curie[curie]['pmids'] = num_of_pmids + for ngd in curie_ngd_list: + content_by_curie[ngd[0]]['ngd'] = ngd[1] + for node, category in category_by_curie.items(): + content_by_curie[node]['category'] = category + + return content_by_curie + + +def get_np_array_features(value, category_to_idx): + ngd_val = float(value["ngd"]) if value["ngd"] is not None else np.nan + pmid_val = float(value["pmids"]) + cat_onehot = np.zeros(58, dtype=float) + cat_str = value["category"] + if cat_str: + cat_idx = category_to_idx[cat_str] + cat_onehot[cat_idx] = 1.0 + + return np.concatenate([[ngd_val, pmid_val], cat_onehot]) \ No newline at end of file diff --git a/code/ARAX/ARAXQuery/Path_Finder/model/Node.py b/code/ARAX/ARAXQuery/Path_Finder/model/Node.py index aace20482..84ed4b5d3 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/model/Node.py +++ b/code/ARAX/ARAXQuery/Path_Finder/model/Node.py @@ -1,10 +1,11 @@ class Node: - def __init__(self, id, weight=float('inf'), name="", degree=0): + def __init__(self, id, weight=float('inf'), name="", degree=0, category=""): self.id = id self.weight = weight self.name = name self.degree = degree + self.category = category def __eq__(self, other): if isinstance(other, Node): diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/MLRepo.py b/code/ARAX/ARAXQuery/Path_Finder/repo/MLRepo.py new file mode 100644 index 000000000..ee6aca984 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/repo/MLRepo.py @@ -0,0 +1,74 @@ +import sys +import os + +import numpy as np +import xgboost as xgb + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../../NodeSynonymizer/") +from node_synonymizer import NodeSynonymizer + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../") +from feature_extractor import get_neighbors_info +from feature_extractor import get_np_array_features +from repo.Repository import Repository +from repo.NodeDegreeRepo import NodeDegreeRepo +from repo.NGDRepository import NGDRepository +from model.Node import Node + + +class MLRepo(Repository): + + def __init__(self, repo, degree_repo=NodeDegreeRepo(), ngd_repo=NGDRepository(), + node_synonymizer=NodeSynonymizer()): + self.repo = repo + self.degree_repo = degree_repo + self.ngd_repo = ngd_repo + self.node_synonymizer = node_synonymizer + self.sorted_category_list = ['Activity', 'Agent', 'AnatomicalEntity', 'Behavior', 'BehavioralFeature', + 'BiologicalEntity', 'BiologicalProcess', 'Cell', 'CellLine', 'CellularComponent', + 'ChemicalEntity', 'ChemicalMixture', 'ClinicalAttribute', 'Cohort', + 'ComplexMolecularMixture', 'Device', 'Disease', 'DiseaseOrPhenotypicFeature', + 'Drug', 'EnvironmentalProcess', 'Event', 'Exon', 'Food', 'Gene', 'GeneFamily', + 'GenomicEntity', 'GeographicLocation', 'GrossAnatomicalStructure', 'Human', + 'IndividualOrganism', 'InformationContentEntity', 'LifeStage', 'MaterialSample', + 'MicroRNA', 'MolecularActivity', 'MolecularEntity', 'MolecularMixture', + 'NamedThing', 'NoncodingRNAProduct', 'NucleicAcidEntity', 'OrganismAttribute', + 'OrganismTaxon', 'PathologicalProcess', 'Pathway', 'Phenomenon', + 'PhenotypicFeature', 'PhysicalEntity', 'PhysiologicalProcess', 'Polypeptide', + 'PopulationOfIndividualOrganisms', 'Procedure', 'Protein', 'Publication', + 'RNAProduct', 'RetrievalSource', 'SmallMolecule', 'Transcript', 'Treatment'] + self.category_to_idx = {cat_name: idx for idx, cat_name in enumerate(self.sorted_category_list)} + + def get_neighbors(self, node, limit=-1): + if limit <= 0: + raise Exception(f"The limit:{limit} could not be negative or zero.") + content_by_curie = get_neighbors_info(node.id, self.node_synonymizer, self.ngd_repo, self.repo) + X_list = [] + curie_list = [] + for key, value in content_by_curie.items(): + curie_list.append(key) + X_list.append(get_np_array_features(value, self.category_to_idx)) + + X = np.empty((len(X_list), 60), dtype=float) + + for i in range(len(X_list)): + X[i] = X_list[i] + + dtest = xgb.DMatrix(X) + + bst_loaded = xgb.Booster() + bst_loaded.load_model(os.path.dirname(os.path.abspath(__file__)) + '/model') + + scores = bst_loaded.predict(dtest) + + ranked_items = sorted( + zip(curie_list, scores), + key=lambda x: x[1], + reverse=True + ) + + return [Node(item[0]) for item in + ranked_items[0:limit]] + + def get_node_degree(self, node): + return self.degree_repo.get_node_degree(node) diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/NGDRepository.py b/code/ARAX/ARAXQuery/Path_Finder/repo/NGDRepository.py index 9c41b5211..8f60fbe23 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/repo/NGDRepository.py +++ b/code/ARAX/ARAXQuery/Path_Finder/repo/NGDRepository.py @@ -13,31 +13,45 @@ def __init__(self, db_path=get_curie_ngd_path()): self.db_path = db_path def get_curie_ngd(self, curie): - sqlite_connection_read = sqlite3.connect(self.db_path) - cursor = sqlite_connection_read.cursor() - query = "SELECT ngd FROM curie_ngd WHERE curie = ?" - cursor.execute(query, (curie,)) - row = cursor.fetchone() - cursor.close() - sqlite_connection_read.close() - + try: + sqlite_connection_read = sqlite3.connect(self.db_path) + cursor = sqlite_connection_read.cursor() + query = "SELECT ngd FROM curie_ngd WHERE curie = ?" + cursor.execute(query, (curie,)) + row = cursor.fetchone() + cursor.close() + sqlite_connection_read.close() + except Exception as e: + raise Exception(f"{e}, db path: {self.db_path}") if row: ngds = ast.literal_eval(row[0]) return ngds + return [] - def get_curies_pmid_length(self, curies, limit): - sqlite_connection_read = sqlite3.connect(self.db_path) - cursor = sqlite_connection_read.cursor() - query = f""" - SELECT curie, pmid_length - FROM curie_ngd - WHERE curie IN ({','.join('?' for _ in curies)}) - ORDER BY pmid_length DESC - LIMIT {limit}; - """ - cursor.execute(query, curies) - rows = cursor.fetchall() - cursor.close() - sqlite_connection_read.close() + def get_curies_pmid_length(self, curies, limit=-1): + try: + sqlite_connection_read = sqlite3.connect(self.db_path) + cursor = sqlite_connection_read.cursor() + if limit != -1: + query = f""" + SELECT curie, pmid_length + FROM curie_ngd + WHERE curie IN ({','.join('?' for _ in curies)}) + ORDER BY pmid_length DESC + LIMIT {limit}; + """ + else: + query = f""" + SELECT curie, pmid_length + FROM curie_ngd + WHERE curie IN ({','.join('?' for _ in curies)}) + ORDER BY pmid_length DESC; + """ + cursor.execute(query, curies) + rows = cursor.fetchall() + cursor.close() + sqlite_connection_read.close() + except Exception as e: + raise Exception(f"{e}, db path: {self.db_path}") return rows diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/NGDSortedNeighborsRepo.py b/code/ARAX/ARAXQuery/Path_Finder/repo/NGDSortedNeighborsRepo.py index cba8df7d9..034e78760 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/repo/NGDSortedNeighborsRepo.py +++ b/code/ARAX/ARAXQuery/Path_Finder/repo/NGDSortedNeighborsRepo.py @@ -28,11 +28,18 @@ def get_neighbors(self, node, limit=-1): for curie, ngd in curie_ngd_list: ngd_by_curie_dict[curie] = ngd + id_set = set(ngd_by_curie_dict.keys()) neighbors = self.repo.get_neighbors(node, limit=limit) neighbors_ids = [] for neighbor in neighbors: - if neighbor.id not in ngd_by_curie_dict: + if neighbor.id not in id_set: neighbors_ids.append(neighbor.id) + else: + id_set.remove(neighbor.id) + + for remove_id in id_set: + del ngd_by_curie_dict[remove_id] + number_of_curie_left_to_fill_the_limit = limit - len(curie_ngd_list) diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/PloverDBRepo.py b/code/ARAX/ARAXQuery/Path_Finder/repo/PloverDBRepo.py index 1ffbf5321..b71294eaa 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/repo/PloverDBRepo.py +++ b/code/ARAX/ARAXQuery/Path_Finder/repo/PloverDBRepo.py @@ -16,31 +16,14 @@ def __init__(self, plover_url, degree_repo=NodeDegreeRepo()): self.degree_repo = degree_repo def get_neighbors(self, node, limit=-1): - endpoint = "/query" - data = { - "edges": { - "e00": { - "subject": "n00", - "object": "n01" - } - }, - "nodes": { - "n00": { - "ids": [node.id] - }, - "n01": { - "categories": ["biolink:NamedThing"] - } - }, - "include_metadata": False, - "respect_predicate_symmetry": True - } + endpoint = "/get_neighbors" + data = {"node_ids": [node.id], "categories": ["biolink:NamedThing"]} result = [] try: response = requests.post(self.plover_url + endpoint, headers={'accept': 'application/json'}, json=data) response.raise_for_status() json = response.json() - result = [Node(i) for i in json['nodes']['n01']] + result = [Node(i) for i in json[node.id]] except requests.exceptions.RequestException as e: # log here print(f"Request error: {e}") pass @@ -54,5 +37,47 @@ def get_neighbors(self, node, limit=-1): pass return result + def trapi_query(self, node, limit=-1): + endpoint = "/query" + data = { + "message": { + "query_graph": { + "edges": { + "e1": { + "object": "n1", + "subject": "n2" + } + }, + "nodes": { + "n1": { + "ids": [ + node.id + ] + }, + "n2": { + "categories": ["biolink:NamedThing"] + } + } + } + } + } + result = [] + try: + response = requests.post(self.plover_url + endpoint, headers={'accept': 'application/json'}, json=data) + response.raise_for_status() + json = response.json() + result = [] + for node_id, node_attributes in json['message']['knowledge_graph']['nodes'].items(): + if node_id != node.id: + result.append(Node(id=node_id, category=node_attributes['categories'][0])) + return result + except requests.exceptions.RequestException as e: + # todo log here print(f"Request error: {e}") + pass + except Exception as e: + # todo log here print(f"Request error: {e}") + pass + return result + def get_node_degree(self, node): return self.degree_repo.get_node_degree(node) diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/model b/code/ARAX/ARAXQuery/Path_Finder/repo/model new file mode 100644 index 000000000..e9b702859 Binary files /dev/null and b/code/ARAX/ARAXQuery/Path_Finder/repo/model differ diff --git a/code/ARAX/ARAXQuery/Path_Finder/repo/repo_factory.py b/code/ARAX/ARAXQuery/Path_Finder/repo/repo_factory.py index a4146b561..d88420281 100644 --- a/code/ARAX/ARAXQuery/Path_Finder/repo/repo_factory.py +++ b/code/ARAX/ARAXQuery/Path_Finder/repo/repo_factory.py @@ -4,10 +4,21 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../") from repo.NGDSortedNeighborsRepo import NGDSortedNeighborsRepo +from repo.MLRepo import MLRepo from repo.PloverDBRepo import PloverDBRepo -def get_repo(): - return NGDSortedNeighborsRepo( - PloverDBRepo(plover_url=RTXConfiguration().plover_url) - ) +def get_repo(repo_name): + if repo_name == "NGDSortedNeighborsRepo": + return NGDSortedNeighborsRepo( + PloverDBRepo(plover_url=RTXConfiguration().plover_url) + ) + elif repo_name == "MLRepo": + return MLRepo( + PloverDBRepo(plover_url=RTXConfiguration().plover_url) + ) + else: + raise ValueError(f"Unknown animal_type '{repo_name}'.") + + + diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/data/drug_bank_sample.json b/code/ARAX/ARAXQuery/Path_Finder/training/data/drug_bank_sample.json new file mode 100644 index 000000000..71f7ce7e7 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/data/drug_bank_sample.json @@ -0,0 +1,320 @@ +{ + "DRUGBANK:DB00001": { + "KG2_ID": "DRUGBANK:DB00001", + "name": "Lepirudin", + "category": "biolink:ChemicalEntity", + "drug_bank_id": "DB00001", + "description": "Lepirudin is a recombinant hirudin formed by 65 amino acids that acts as a highly specific and direct thrombin inhibitor.[L41539,L41569] Natural hirudin is an endogenous anticoagulant found in _Hirudo medicinalis_ leeches.[L41539] Lepirudin is produced in yeast cells and is identical to natural hirudin except for the absence of sulfate on the tyrosine residue at position 63 and the substitution of leucine for isoleucine at position 1 (N-terminal end).[A246609] \r\n\r\nLepirudin is used as an anticoagulant in patients with heparin-induced thrombocytopenia (HIT), an immune reaction associated with a high risk of thromboembolic complications.[A3, L41539] HIT is caused by the expression of immunoglobulin G (IgG) antibodies that bind to the complex formed by heparin and platelet factor 4. This activates endothelial cells and platelets and enhances the formation of thrombi.[A246609] Bayer ceased the production of lepirudin (Refludan) effective May 31, 2012.[L41574]", + "indication": "Lepirudin is indicated for anticoagulation in adult patients with acute coronary syndromes (ACS) such as unstable angina and acute myocardial infarction without ST elevation. In patients with ACS, lepirudin is intended for use with [aspirin].[L41539] Lepirudin is also indicated for anticoagulation in patients with heparin-induced thrombocytopenia (HIT) and associated thromboembolic disease in order to prevent further thromboembolic complications.[L41539]", + "pharmacodynamics": "Lepirudin is a recombinant hirudin that acts as a highly specific thrombin inhibitor. Its activity is measured by anti-thrombin units (ATUs) that correspond to the amount of lepirudin required to neutralize a unit of the World Health Organization \u03b1-thrombin (89/588) standard. The activity of lepirudin is 16,000 ATU/mg.[L41539,L41569] A single molecule of lepirudin binds to a molecule of thrombin, blocking its thrombogenic activity. This drug increases activated partial thromboplastin time (aPTT) and PT (INR) values in a dose-dependent manner, and its mode of action is independent of antithrombin III.[L41539,L41569] Platelet factor 4 does not inhibit lepirudin.[L41539,L41569]\r\n\r\nThe pharmacodynamic effect of lepirudin was evaluated by measuring an increase in aPTT. No saturable effect was observed at the highest tested dose (0.5 mg/kg, IV bolus).[L41539] Thrombin time was considered an unsuitable routine test for lepirudin monitoring due to the high values detected (200 seconds) even at low doses.[L41539] The concomitant use of thrombolytic therapy and lepirudin is not recommended due to the high risk of bleeding that may be life-threatening. In patients with a risk of bleeding, a physician should weigh the risks of lepirudin administration against its benefits. There is also an especially high risk of bleeding in patients who weigh less than 50 kg, and a lower dosage is required. Patients with renal impairment have a higher risk of hemorrhagic adverse events.[L41539]", + "mechanism_of_action": "Lepirudin is a direct thrombin inhibitor used as an anticoagulant in patients for whom heparin is contraindicated.[L41539,A3] Thrombin is a serine protease that participates in the blood-clotting cascade, and it is formed by the cleavage of pro-thrombin. Active thrombin cleaves fibrinogen and generates fibrin monomers that polymerize to form fibrin clots.[A246624]\r\n\r\nLepirudin binds to the catalytic and substrate-binding sites of thrombin, forming a stable, irreversible and non-covalent complex.[A246609] This blocks the protease activity of thrombin and inhibits the coagulation process. Each molecule of lepirudin binds to a single molecule of thrombin,[L41539] and unlike [heparin], it is able to inhibit thrombin in both its clot-bound or free states.[A246609]", + "metabolism": "As a polypeptide, lepirudin is expected to be metabolized by the sequential cleavage of amino acids by kidney exoproteases, which have carboxypeptidase and dipeptidase-like activity.[L41539,L41544] The C-terminal cleavage of lepirudin aminoacids (aminoacids 1 to 65) produces four metabolites with anti-thrombotic activity: M1 (aminoacids 1 to 64), M2 (aminoacids 1 to 63), M3 (aminoacids 1 to 62), and M4 (aminoacids 1 to 61).[L41544]", + "transporters": { + "names": [], + "ids": [] + }, + "enzymes": { + "names": [], + "ids": [] + }, + "targets": { + "names": [ + "F2", + "Prothrombin" + ], + "ids": [ + "P00734", + "BE0000048" + ] + }, + "carriers": { + "names": [], + "ids": [] + }, + "pathways": { + "ids": [ + "SMPDB:SMP0000278" + ], + "enzymes": { + "ids": [ + "UniProtKB:P00734", + "UniProtKB:P00748", + "UniProtKB:P02452", + "UniProtKB:P03952", + "UniProtKB:P03951", + "UniProtKB:P00740", + "UniProtKB:P00451", + "UniProtKB:P12259", + "UniProtKB:P00742", + "UniProtKB:P02671", + "UniProtKB:P02675", + "UniProtKB:P02679", + "UniProtKB:P00488", + "UniProtKB:P05160", + "UniProtKB:P00747", + "UniProtKB:P00750", + "UniProtKB:P08709", + "UniProtKB:P13726", + "UniProtKB:Q9BQB6", + "UniProtKB:P38435" + ] + } + }, + "indication_NER_aligned": { + "MONDO:0005542": { + "name": "acute coronary syndromes", + "category": "biolink:Disease" + }, + "MONDO:0006805": { + "name": "unstable angina", + "category": "biolink:Disease" + }, + "MONDO:0004781": { + "name": "acute myocardial infarction", + "category": "biolink:Disease" + }, + "MONDO:0018048": { + "name": "heparin-induced thrombocytopenia", + "category": "biolink:Disease" + }, + "HP:0001907": { + "name": "associated thromboembolic disease", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C0009566": { + "name": "complications", + "category": "biolink:Disease" + } + }, + "mechanistic_intermediate_nodes": { + "CHEBI:142437": { + "name": "Lepirudin", + "category": "biolink:SmallMolecule" + }, + "UMLS:C0019573": { + "name": "hirudin", + "category": "biolink:Protein" + }, + "UMLS:C0002520": { + "name": "lepirudin aminoacids", + "category": "biolink:Protein" + }, + "UMLS:C0003440": { + "name": "thrombin inhibitor", + "category": "biolink:Protein" + }, + "PUBCHEM.COMPOUND:72941487": { + "name": "hirudin", + "category": "biolink:SmallMolecule" + }, + "UMLS:C0003280": { + "name": "anticoagulant", + "category": "biolink:Drug" + }, + "MONDO:0001191": { + "name": "leeches", + "category": "biolink:Disease" + }, + "CL:0000097": { + "name": "yeast cells", + "category": "biolink:Cell" + }, + "CHEBI:16189": { + "name": "sulfate", + "category": "biolink:SmallMolecule" + }, + "CHEBI:17895": { + "name": "tyrosine residue", + "category": "biolink:SmallMolecule" + }, + "CHEBI:15603": { + "name": "leucine", + "category": "biolink:SmallMolecule" + }, + "CHEBI:17191": { + "name": "isoleucine", + "category": "biolink:SmallMolecule" + }, + "GO:0047485": { + "name": "N-terminal end)", + "category": "biolink:MolecularActivity" + }, + "CHEBI:32789": { + "name": "tyrosine residue", + "category": "biolink:SmallMolecule" + }, + "MONDO:0018048": { + "name": "heparin-induced thrombocytopenia", + "category": "biolink:Disease" + }, + "UMLS:C0003314": { + "name": "immune reaction", + "category": "biolink:MolecularActivity" + }, + "UMLS:C0332167": { + "name": "high risk", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C0009566": { + "name": "complications", + "category": "biolink:Disease" + }, + "UMLS:C4319571": { + "name": "high risk", + "category": "biolink:PhenotypicFeature" + }, + "MESH:Q000150": { + "name": "complications", + "category": "biolink:PathologicalProcess" + }, + "GO:0010467": { + "name": "expression", + "category": "biolink:BiologicalProcess" + }, + "CHEBI:28304": { + "name": "heparin", + "category": "biolink:SmallMolecule" + }, + "PR:000012569": { + "name": "platelet factor 4", + "category": "biolink:Protein" + }, + "CL:0000115": { + "name": "endothelial cells", + "category": "biolink:Cell" + }, + "CL:0000233": { + "name": "platelets", + "category": "biolink:Cell" + }, + "UMLS:C0087086": { + "name": "thrombi", + "category": "biolink:Disease" + }, + "MONDO:0005542": { + "name": "acute coronary syndromes", + "category": "biolink:Disease" + }, + "MONDO:0006805": { + "name": "unstable angina", + "category": "biolink:Disease" + }, + "MONDO:0004781": { + "name": "acute myocardial infarction", + "category": "biolink:Disease" + }, + "NCBIGene:39836": { + "name": "ST", + "category": "biolink:Gene" + }, + "NCBIGene:38264": { + "name": "ACS", + "category": "biolink:Gene" + }, + "HP:0001907": { + "name": "associated thromboembolic disease", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C0309872": { + "name": "prevent", + "category": "biolink:Drug" + }, + "CHV:0000028343": { + "name": "prevent", + "category": "biolink:Drug" + }, + "HP:5200227": { + "name": "blocking", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C0013227": { + "name": "drug", + "category": "biolink:Drug" + }, + "CHEBI:33364": { + "name": "PT", + "category": "biolink:SmallMolecule" + }, + "UMLS:C0003438": { + "name": "antithrombin III", + "category": "biolink:Protein" + }, + "CHEBI:23888": { + "name": "drug", + "category": "biolink:Drug" + }, + "NCBIGene:42549": { + "name": "INR", + "category": "biolink:Gene" + }, + "CHV:0000001327": { + "name": "antithrombin III", + "category": "biolink:Drug" + }, + "UMLS:C0442726": { + "name": "detected", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C0427596": { + "name": "Thrombin time", + "category": "biolink:PhenotypicFeature" + }, + "CHV:0000035134": { + "name": "detected", + "category": "biolink:DiseaseOrPhenotypicFeature" + }, + "NCIT:C26791": { + "name": "bleeding", + "category": "biolink:PhenotypicFeature" + }, + "UMLS:C2826244": { + "name": "life-threatening", + "category": "biolink:PhenotypicFeature" + }, + "CHV:0000006008": { + "name": "bleeding", + "category": "biolink:PathologicalProcess" + }, + "MONDO:0001106": { + "name": "renal impairment", + "category": "biolink:Disease" + }, + "UMLS:C0877248": { + "name": "adverse events", + "category": "biolink:Disease" + }, + "UMLS:C0030956": { + "name": "polypeptide", + "category": "biolink:Protein" + }, + "UMLS:C1524026": { + "name": "metabolized", + "category": "biolink:PhysiologicalProcess" + }, + "UMLS:C0010813": { + "name": "cleavage", + "category": "biolink:PhysiologicalProcess" + }, + "UMLS:C1150160": { + "name": "dipeptidase-like activity", + "category": "biolink:MolecularActivity" + }, + "CHV:0000003582": { + "name": "cleavage", + "category": "biolink:PhysiologicalProcess" + }, + "CHEBI:208399": { + "name": "M4", + "category": "biolink:SmallMolecule" + }, + "CHEBI:8583": { + "name": "Prothrombin", + "category": "biolink:ChemicalEntity" + }, + "NCBIGene:2147": { + "name": "F2", + "category": "biolink:Gene" + } + } + } +} \ No newline at end of file diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/simple_training/training.py b/code/ARAX/ARAXQuery/Path_Finder/training/simple_training/training.py new file mode 100644 index 000000000..d238478f0 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/simple_training/training.py @@ -0,0 +1,119 @@ +import json +import logging +import os +import pickle +import sys + +import numpy as np +import xgboost as xgb + +pathlist = os.path.realpath(__file__).split(os.path.sep) +RTXindex = pathlist.index("RTX") +sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code'])) + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../") +from feature_extractor import get_neighbors_info +from feature_extractor import get_np_array_features +from repo.NGDRepository import NGDRepository +from repo.PloverDBRepo import PloverDBRepo +from RTXConfiguration import RTXConfiguration + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../../../NodeSynonymizer/") +from node_synonymizer import NodeSynonymizer + + +def create_training_data(): + with open('./../data/training.json', 'r') as file: + data = json.load(file) + training = [] + for key, value in data.items(): + related_CURIE = set() + + batch_of_nodes = [k for k in value["indication_NER_aligned"].keys()] + batch_of_nodes.extend([k for k in value["mechanistic_intermediate_nodes"].keys()]) + + related_CURIE.add(key) + related_CURIE.update(batch_of_nodes) + + for rel in related_CURIE: + training.append((rel, related_CURIE)) + + return training + + +def gather_data(): + training_data = create_training_data() + i = 0 + logging.info(len(training_data)) + node_synonymizer = NodeSynonymizer() + category_list = node_synonymizer.get_distinct_category_list() + category_list_sorted = sorted(category_list) + category_to_idx = {cat_name: idx for idx, cat_name in enumerate(category_list_sorted)} + ngd_repo = NGDRepository() + plover_repo = PloverDBRepo(plover_url=RTXConfiguration().plover_url) + group = [] + curie = [] + y = [] + x_list = [] + for key_nodes_pair in training_data: + content_by_curie = get_neighbors_info(key_nodes_pair[0], node_synonymizer, ngd_repo, plover_repo) + group.append(len(content_by_curie)) + curie.append(key_nodes_pair[0]) + logging.info(f"neighbors length: {len(content_by_curie)}") + for key, value in content_by_curie.items(): + if key in key_nodes_pair[1]: + y.append(1) + else: + y.append(0) + + x_list.append(get_np_array_features(value, category_to_idx)) + + i = i + 1 + logging.info(f"training data counter: {i}") + + x = np.empty((len(x_list), 60), dtype=float) + + for i in range(len(x_list)): + x[i] = x_list[i] + + np.save("X_data.npy", x) + np.save("y_data.npy", y) + with open("group.pkl", "wb") as f: + pickle.dump(group, f) + with open("curie.pkl", "wb") as f: + pickle.dump(curie, f) + + +def train(): + x = np.load("X_data.npy") + y = np.load("y_data.npy") + with open("group.pkl", "rb") as f: + group = pickle.load(f) + dtrain = xgb.DMatrix(x, label=y) + dtrain.set_group(group) + params = { + 'objective': 'rank:pairwise', + 'eval_metric': 'ndcg', + 'eta': 0.1, + 'max_depth': 5 + } + bst = xgb.train(params, dtrain, num_boost_round=100) + bst.save_model("pathfinder_xgboost_model") + + +def feature_importance(): + bst_loaded = xgb.Booster() + bst_loaded.load_model("model") + importance_dict = bst_loaded.get_score(importance_type='cover') + logging.info(importance_dict) + + from xgboost import plot_importance + import matplotlib.pyplot as plt + plot_importance(bst_loaded, importance_type='cover') + plt.savefig("feature_importance_cover.png") + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + gather_data() + train() diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/testing/DrugDiseaseMatchedDB.py b/code/ARAX/ARAXQuery/Path_Finder/training/testing/DrugDiseaseMatchedDB.py new file mode 100644 index 000000000..1a0cfb486 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/testing/DrugDiseaseMatchedDB.py @@ -0,0 +1,53 @@ +import sqlite3 + +import pandas as pd + + +class DrugDiseaseMatchedDB: + + def __init__(self, db_address): + self.db_address = db_address + + def create_table(self): + conn = sqlite3.connect(self.db_address) + + cursor = conn.cursor() + + create_table_query = """ + CREATE TABLE IF NOT EXISTS DrugDiseaseMatch ( + drug TEXT, + disease TEXT, + matched TEXT, + containment_index REAL, + number_of_found_nodes INTEGER, + number_of_test_nodes INTEGER + ); + """ + + cursor.execute(create_table_query) + + conn.commit() + conn.close() + + def read_all(self): + conn = sqlite3.connect(self.db_address) + + query = "SELECT containment_index FROM DrugDiseaseMatch" + data = pd.read_sql_query(query, conn) + conn.close() + return data + + def insert(self, drug, disease, matched, containment_index, number_of_found_nodes, number_of_test_nodes): + conn = sqlite3.connect(self.db_address) + cursor = conn.cursor() + + insert_query = """ + INSERT INTO DrugDiseaseMatch (drug, disease, matched, containment_index, number_of_found_nodes, number_of_test_nodes) + VALUES (?, ?, ?, ?, ?, ?); + """ + + cursor.execute(insert_query, + (drug, disease, matched, containment_index, number_of_found_nodes, number_of_test_nodes)) + + conn.commit() + conn.close() \ No newline at end of file diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/testing/path_finder_service.py b/code/ARAX/ARAXQuery/Path_Finder/training/testing/path_finder_service.py new file mode 100644 index 000000000..9af48e73f --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/testing/path_finder_service.py @@ -0,0 +1,38 @@ +import os +import sys +import logging + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../") +from BidirectionalPathFinder import BidirectionalPathFinder + + +def pathfinder_factory(pathfinder_type: str): + if pathfinder_type == "legacy": + return BidirectionalPathFinder( + "NGDSortedNeighborsRepo", + logging + ) + elif pathfinder_type == "new": + return BidirectionalPathFinder( + "MLRepo", + logging + ) + else: + raise ValueError(f"Unknown animal_type '{pathfinder_type}'.") + + +def get_paths_from_path_finder(pathfinder_type, normalize_src_node_id, normalize_dst_node_id): + path_finder = pathfinder_factory(pathfinder_type) + try: + paths = path_finder.find_all_paths( + normalize_src_node_id, + normalize_dst_node_id, + hops_numbers=4 + ) + except Exception as error: + logging.error(f"src: {normalize_src_node_id}\n" + f"dst: {normalize_dst_node_id}\n" + f"error: {error}") + return set() + + return paths diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/testing/splitter.py b/code/ARAX/ARAXQuery/Path_Finder/training/testing/splitter.py new file mode 100644 index 000000000..4cb22ea40 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/testing/splitter.py @@ -0,0 +1,28 @@ +import json +import random + + +def split_data(train_percentage=0.8): + with open('../data/DrugBank_aligned_with_KG2.json', 'r') as file: + data = json.load(file) + items = list(data.items()) + + random.shuffle(items) + + split_index = int(len(items) * train_percentage) + + dict1_items = items[:split_index] + dict2_items = items[split_index:] + + training = dict(dict1_items) + testing = dict(dict2_items) + + with open('../data/training.json', 'w') as file1: + json.dump(training, file1, indent=4) + + with open('../data/testing.json', 'w') as file2: + json.dump(testing, file2, indent=4) + + +if __name__ == "__main__": + split_data() diff --git a/code/ARAX/ARAXQuery/Path_Finder/training/testing/testing.py b/code/ARAX/ARAXQuery/Path_Finder/training/testing/testing.py new file mode 100644 index 000000000..8f24855c7 --- /dev/null +++ b/code/ARAX/ARAXQuery/Path_Finder/training/testing/testing.py @@ -0,0 +1,82 @@ +import json +import os +import sys +import logging +import matplotlib.pyplot as plt +import seaborn as sns + +pathlist = os.path.realpath(__file__).split(os.path.sep) +RTXindex = pathlist.index("RTX") +sys.path.append(os.path.sep.join([*pathlist[:(RTXindex + 1)], 'code'])) + +sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../") +from path_finder_service import get_paths_from_path_finder +from DrugDiseaseMatchedDB import DrugDiseaseMatchedDB + + +def extract_intermediate_nodes(paths): + nodes = set() + for path in paths: + for i in range(0, len(path.links)): + if i != 0 and (i != len(path.links) - 1): + nodes.add(str(path.links[i])) + return nodes + + +def run_tests(db, pathfinder_type): + with open(os.path.dirname(os.path.abspath(__file__)) + '/data/testing.json', 'r') as file: + data = json.load(file) + + counter = 0 + for source, value in data.items(): + test_nodes = set(value['mechanistic_intermediate_nodes'].keys()) + for destination, _ in value['indication_NER_aligned'].items(): + paths = get_paths_from_path_finder(pathfinder_type, source, destination) + intermediate_node_from_path_finder = extract_intermediate_nodes(paths) + matched = intermediate_node_from_path_finder & test_nodes + containment_index = len(matched) / len(test_nodes) + db.insert(source, destination, str(matched), containment_index, len(intermediate_node_from_path_finder), + len(test_nodes)) + logging.info(f"{++counter}: {source} - {destination}: {containment_index}") + + +def number_of_test_data(): + with open(os.path.dirname(os.path.abspath(__file__)) + '/data/testing.json', 'r') as file: + data = json.load(file) + counter = 0 + for source, value in data.items(): + counter = counter + len(value['indication_NER_aligned'].items()) + + logging.info(f"Number of test pairs: {counter}") + + +def depict_pdf(db, file_name): + data = db.read_all() + + data = data[data['containment_index'] != 0] + + mean_containment_index = data['containment_index'].mean() + std_dev_containment_index = data['containment_index'].std() + + plt.figure(figsize=(10, 6)) + sns.kdeplot(data['containment_index'], bw_adjust=0.5, fill=True, color='skyblue', alpha=0.6) + plt.title("Probability Density Function of Containment Index (Non-Zero Values)") + plt.xlabel("Containment Index") + plt.ylabel("Density") + plt.axvline(mean_containment_index, color='red', linestyle='--', label=f'Mean: {mean_containment_index:.2f}') + plt.axvline(mean_containment_index + std_dev_containment_index, color='green', linestyle='--', + label=f'Mean + 1 SD: {(mean_containment_index + std_dev_containment_index):.2f}') + plt.axvline(mean_containment_index - std_dev_containment_index, color='purple', linestyle='--', + label=f'Mean - 1 SD: {(mean_containment_index - std_dev_containment_index):.2f}') + plt.legend() + plt.savefig(f"{file_name}.png") + + +if __name__ == "__main__": + pathfinder_type = "new" + logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + db = DrugDiseaseMatchedDB(f"drug_disease_{pathfinder_type}.db") + db.create_table() + number_of_test_data() + run_tests(db, pathfinder_type) + depict_pdf(db, pathfinder_type) diff --git a/code/ARAX/ARAXQuery/knowledge_graph_info.py b/code/ARAX/ARAXQuery/knowledge_graph_info.py index d2871fb6b..8ef18352b 100644 --- a/code/ARAX/ARAXQuery/knowledge_graph_info.py +++ b/code/ARAX/ARAXQuery/knowledge_graph_info.py @@ -186,10 +186,10 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() - message_dict = araxdb.getMessage(2) + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects from ARAX_messenger import ARAXMessenger diff --git a/code/ARAX/ARAXQuery/query_graph_info.py b/code/ARAX/ARAXQuery/query_graph_info.py index 85ea7dbeb..9a04449cc 100644 --- a/code/ARAX/ARAXQuery/query_graph_info.py +++ b/code/ARAX/ARAXQuery/query_graph_info.py @@ -156,6 +156,7 @@ def assess(self, message): continue edge_info[key] = { 'key': key, 'has_predicates': False, 'subject': qedge.subject, 'object': qedge.object, 'predicates': None, 'exclude': False } + edge_info[key]['knowledge_type'] = qedge.knowledge_type if qedge.exclude is not None: edge_info[key]['exclude'] = qedge.exclude @@ -533,10 +534,10 @@ def main(): actions = result.data['actions'] #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() - message_dict = araxdb.getMessage(2) + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects from ARAX_messenger import ARAXMessenger diff --git a/code/ARAX/ARAXQuery/result_transformer.py b/code/ARAX/ARAXQuery/result_transformer.py index 2f88691b6..d11ea4417 100644 --- a/code/ARAX/ARAXQuery/result_transformer.py +++ b/code/ARAX/ARAXQuery/result_transformer.py @@ -64,7 +64,10 @@ def transform(response: ARAXResponse): message.auxiliary_graphs[aux_graph_key] = AuxiliaryGraph(edges=list(group_edge_keys),attributes=[]) # Refer to this aux graph from the current Result or Edge (if this is an Infer support graph) - if group_id and (group_id.startswith("creative_DTD_") or group_id.startswith("creative_CRG_")): + if group_id and group_id.startswith("creative_"): + # Figure out which creative tool/method we're dealing with (e.g. creative_DTD, creative_expand) + group_id_prefix = "_".join(group_id.split("_")[:2]) + # Create an attribute for the support graph that we'll tack onto the treats edge for this result support_graph_attribute = Attribute(attribute_type_id="biolink:support_graphs", value=[aux_graph_key], @@ -83,18 +86,19 @@ def transform(response: ARAXResponse): else: inferred_qedge_key = inferred_qedge_keys[0] inferred_edge_keys = {edge_binding.id for edge_binding in - result.analyses[0].edge_bindings[inferred_qedge_key] if "creative_" in edge_binding.id} + result.analyses[0].edge_bindings[inferred_qedge_key] + if group_id_prefix in edge_binding.id} # Refer to the support graph from the proper edge(s) for inferred_edge_key in inferred_edge_keys: inferred_edge = message.knowledge_graph.edges[inferred_edge_key] if inferred_edge.attributes: - support_graph_attributes = [attribute for attribute in inferred_edge.attributes + existing_sg_attributes = [attribute for attribute in inferred_edge.attributes if attribute.attribute_type_id == "biolink:support_graphs"] - if support_graph_attributes: + if existing_sg_attributes: # Refer to this support graph from the first existing support graph attribute - existing_support_graph_attribute = support_graph_attributes[0] - if aux_graph_key not in existing_support_graph_attribute.value: - existing_support_graph_attribute.value.append(aux_graph_key) + existing_sg_attribute = existing_sg_attributes[0] + if aux_graph_key not in existing_sg_attribute.value: + existing_sg_attribute.value.append(aux_graph_key) else: inferred_edge.attributes.append(support_graph_attribute) else: diff --git a/code/ARAX/BiolinkHelper/biolink_helper.py b/code/ARAX/BiolinkHelper/biolink_helper.py index f0b001767..21e2884e6 100644 --- a/code/ARAX/BiolinkHelper/biolink_helper.py +++ b/code/ARAX/BiolinkHelper/biolink_helper.py @@ -33,7 +33,7 @@ def __init__(self, biolink_version: Optional[str] = None, is_test: bool = False) self.root_category = "biolink:NamedThing" self.root_predicate = "biolink:related_to" biolink_helper_dir = os.path.dirname(os.path.abspath(__file__)) - self.biolink_lookup_map_path = f"{biolink_helper_dir}/biolink_lookup_map_{self.biolink_version}_v4.pickle" + self.biolink_lookup_map_path = f"{biolink_helper_dir}/biolink_lookup_map_{self.biolink_version}_v5.pickle" timestamp = str(datetime.datetime.now().isoformat()) eprint(f"{timestamp}: DEBUG: Loading BL lookup map...") @@ -111,7 +111,7 @@ def get_descendants(self, biolink_items: Union[str, List[str], Set[str]], includ descendants.update(self.biolink_lookup_map["directions"][direction]["descendants"]) return list(descendants) - def get_canonical_predicates(self, predicates: Union[str, List[str], Set[str]]) -> List[str]: + def get_canonical_predicates(self, predicates: Union[str, List[str], Set[str]], print_warnings: bool = True) -> List[str]: """ Returns the canonical version of the input predicate(s). Accepts a single predicate or multiple predicates as input and always returns the canonical predicate(s) in a list. Works with both proper and mixin predicates. @@ -119,13 +119,24 @@ def get_canonical_predicates(self, predicates: Union[str, List[str], Set[str]]) input_predicate_set = self._convert_to_set(predicates) valid_predicates = input_predicate_set.intersection(self.biolink_lookup_map["predicates"]) invalid_predicates = input_predicate_set.difference(valid_predicates) - if invalid_predicates: + if invalid_predicates and print_warnings: eprint(f"WARNING: Provided predicate(s) {invalid_predicates} do not exist in Biolink {self.biolink_version}") canonical_predicates = {self.biolink_lookup_map["predicates"][predicate]["canonical_predicate"] for predicate in valid_predicates} canonical_predicates.update(invalid_predicates) # Go ahead and include those we don't have canonical info for return list(canonical_predicates) - + + def get_predicate_depth_map(self)->Dict[str,int]: + response = self._download_biolink_model() + if response.status_code == 200: + biolink_model = yaml.safe_load(response.text) + predicate_dag = self._build_predicate_dag(biolink_model) + + else: + raise RuntimeError(f"ERROR: Request to get Biolink {self.biolink_version} YAML file returned " + f"{response.status_code} response. Cannot load BiolinkHelper.") + return self._get_depths_from_root(predicate_dag) + def is_symmetric(self, predicate: str) -> Optional[bool]: if predicate in self.biolink_lookup_map["predicates"]: return self.biolink_lookup_map["predicates"][predicate]["is_symmetric"] @@ -198,7 +209,15 @@ def _load_biolink_lookup_map(self, is_test: bool = False): with open(self.biolink_lookup_map_path, "rb") as biolink_map_file: biolink_lookup_map = pickle.load(biolink_map_file) return biolink_lookup_map - + + def _download_biolink_model(self): + response = requests.get(f"https://raw.githubusercontent.com/biolink/biolink-model/{self.biolink_version}/biolink-model.yaml", + timeout=10) + if response.status_code != 200: # Sometimes Biolink's tags start with 'v', so try that + response = requests.get(f"https://raw.githubusercontent.com/biolink/biolink-model/v{self.biolink_version}/biolink-model.yaml", + timeout=10) + return response + def _create_biolink_lookup_map(self) -> Dict[str, Dict[str, Dict[str, Union[str, List[str], bool]]]]: timestamp = str(datetime.datetime.now().isoformat()) eprint(f"{timestamp}: INFO: Building local Biolink {self.biolink_version} ancestor/descendant lookup map " @@ -206,11 +225,7 @@ def _create_biolink_lookup_map(self) -> Dict[str, Dict[str, Dict[str, Union[str, biolink_lookup_map = {"predicates": dict(), "categories": dict(), "aspects": dict(), "directions": dict()} # Grab the relevant Biolink yaml file - response = requests.get(f"https://raw.githubusercontent.com/biolink/biolink-model/{self.biolink_version}/biolink-model.yaml", - timeout=10) - if response.status_code != 200: # Sometimes Biolink's tags start with 'v', so try that - response = requests.get(f"https://raw.githubusercontent.com/biolink/biolink-model/v{self.biolink_version}/biolink-model.yaml", - timeout=10) + response = self._download_biolink_model() if response.status_code == 200: biolink_model = yaml.safe_load(response.text) @@ -382,7 +397,23 @@ def _build_direction_dag(self, biolink_model: dict) -> nx.DiGraph: direction_dag.add_edge(parent_name_trapi, direction_name_trapi) return direction_dag - + + def _get_depths_from_root(self, dag)-> Dict[str,int]: + node_depths = {} + for node in nx.topological_sort(dag): + # Skip if the node is the start node + + # Get all predecessors of the current node + predecessors = list(dag.predecessors(node)) + + # If the node has predecessors, calculate its depth as max(depth of predecessors) + 1 + if predecessors: + node_depths[node] = max(node_depths[pred] for pred in predecessors) + 1 + else: + node_depths[node] = 0 # Handle nodes that have no predecessors (if any) + + return node_depths + @staticmethod def _get_ancestors_nx(nx_graph: nx.DiGraph, node_id: str) -> List[str]: return list(nx.ancestors(nx_graph, node_id).union({node_id})) diff --git a/code/ARAX/Documentation/DSL_Documentation.md b/code/ARAX/Documentation/DSL_Documentation.md index e1eab8d78..7d5765307 100644 --- a/code/ARAX/Documentation/DSL_Documentation.md +++ b/code/ARAX/Documentation/DSL_Documentation.md @@ -9,12 +9,12 @@ - [ARAX_expander](#arax_expander) - [expand()](#expand) - [ARAX_overlay](#arax_overlay) - - [overlay(action=fisher_exact_test)](#overlayactionfisher_exact_test) - - [overlay(action=overlay_exposures_data)](#overlayactionoverlay_exposures_data) - - [overlay(action=overlay_clinical_info)](#overlayactionoverlay_clinical_info) - [overlay(action=add_node_pmids)](#overlayactionadd_node_pmids) - [overlay(action=compute_ngd)](#overlayactioncompute_ngd) + - [overlay(action=fisher_exact_test)](#overlayactionfisher_exact_test) + - [overlay(action=overlay_clinical_info)](#overlayactionoverlay_clinical_info) - [overlay(action=compute_jaccard)](#overlayactioncompute_jaccard) + - [overlay(action=overlay_exposures_data)](#overlayactionoverlay_exposures_data) - [ARAX_filter_kg](#arax_filter_kg) - [filter_kg(action=remove_edges_by_predicate)](#filter_kgactionremove_edges_by_predicate) - [filter_kg(action=remove_edges_by_continuous_attribute)](#filter_kgactionremove_edges_by_continuous_attribute) @@ -218,8 +218,8 @@ The `add_qedge` command adds an additional QEdge to the QueryGraph in the Messag ### expand() This command will expand (aka, answer/fill) your query graph in an edge-by-edge fashion, intelligently selecting which KPs to use for each edge. It selects KPs from the SmartAPI Registry based on the meta information provided by their TRAPI APIs, whether they have an endpoint running a matching TRAPI version, and whether they have an endpoint with matching maturity. For each QEdge, it queries the selected KPs concurrently; it will timeout for a particular KP if it decides it's taking too long to respond (this KP timeout can be controlled by the user). You may also optionally specify a particular KP to use via the 'kp' parameter (described below). -Current candidate KPs include (for TRAPI 1.4, maturity 'development'): -infores:agrkb, infores:automat-binding-db, infores:automat-cam-kp, infores:automat-ctd, infores:automat-drug-central, infores:automat-gtex, infores:automat-gtopdb, infores:automat-gwas-catalog, infores:automat-hetio, infores:automat-hgnc, infores:automat-hmdb, infores:automat-human-goa, infores:automat-icees-kg, infores:automat-intact, infores:automat-monarchinitiative, infores:automat-panther, infores:automat-pharos, infores:automat-reactome, infores:automat-robokop, infores:automat-string-db, infores:automat-ubergraph, infores:automat-viral-proteome, infores:cohd, infores:connections-hypothesis, infores:gelinea, infores:genetics-data-provider, infores:knowledge-collaboratory, infores:molepro, infores:openpredict, infores:rtx-kg2, infores:service-provider-trapi, infores:spoke, infores:text-mining-provider-cooccurrence. +Current candidate KPs include (for TRAPI 1.5, maturity 'development'): +infores:answer-coalesce, infores:automat-binding-db, infores:automat-cam-kp, infores:automat-ctd, infores:automat-drug-central, infores:automat-genome-alliance, infores:automat-gtex, infores:automat-gtopdb, infores:automat-gwas-catalog, infores:automat-hetionet, infores:automat-hgnc, infores:automat-hmdb, infores:automat-human-goa, infores:automat-icees-kg, infores:automat-intact, infores:automat-monarchinitiative, infores:automat-panther, infores:automat-pharos, infores:automat-reactome, infores:automat-robokop, infores:automat-string-db, infores:automat-ubergraph, infores:automat-viral-proteome, infores:cohd, infores:connections-hypothesis, infores:gelinea, infores:genetics-data-provider, infores:knowledge-collaboratory, infores:molepro, infores:multiomics-clinicaltrials, infores:multiomics-drugapprovals, infores:openpredict, infores:rtx-kg2, infores:service-provider-trapi, infores:spoke. (Note that this list of KPs may change unexpectedly based on the SmartAPI registry.) @@ -292,6 +292,87 @@ infores:agrkb, infores:automat-binding-db, infores:automat-cam-kp, infores:autom - `true` and `false` are examples of valid inputs. ## ARAX_overlay +### overlay(action=add_node_pmids) + +`add_node_pmids` adds PubMed PMID's as node attributes to each node in the knowledge graph. +This information is obtained from mapping node identifiers to MeSH terms and obtaining which PubMed articles have this MeSH term +either labeling in the metadata or has the MeSH term occurring in the abstract of the article. + +This can be applied to an arbitrary knowledge graph as possible edge types are computed dynamically (i.e. not just those created/recognized by the ARA Expander team). + + +#### parameters: + +* ##### max_num + + - The maximum number of values to return. Enter 'all' to return everything + + - Acceptable input types: int or string. + + - This is not a required parameter and may be omitted. + + - `all`, `5`, and `50` are examples of valid inputs. + + - If not specified the default input will be 100. + +### overlay(action=compute_ngd) + +`compute_ngd` computes a metric (called the normalized Google distance) based on edge soure/object node co-occurrence in abstracts of all PubMed articles. +This information is then included as an edge attribute with the name `normalized_google_distance`. +You have the choice of applying this to all edges in the knowledge graph, or only between specified subject/object qnode id's. If the later, virtual edges are added with the type specified by `virtual_relation_label`. + +Use cases include: + +* focusing in on edges that are well represented in the literature +* focusing in on edges that are under-represented in the literature + +This can be applied to an arbitrary knowledge graph as possible edge types are computed dynamically (i.e. not just those created/recognized by the ARA Expander team). + + +#### parameters: + +* ##### default_value + + - The default value of the normalized Google distance (if its value cannot be determined) + + - Acceptable input types: string. + + - This is not a required parameter and may be omitted. + + - `0` and `inf` are examples of valid inputs. + + - If not specified the default input will be inf. + +* ##### virtual_relation_label + + - An optional label to help identify the virtual edge in the relation field. + + - Acceptable input types: string. + + - This is not a required parameter and may be omitted. + + - `N1` and `J2` are examples of valid inputs. + +* ##### subject_qnode_key + + - A specific subject query node id (optional, otherwise applied to all edges, must have a virtual_relation_label to use this parameter) + + - Acceptable input types: string. + + - This is not a required parameter and may be omitted. + + - `n00` and `n01` are examples of valid inputs. + +* ##### object_qnode_key + + - A specific object query node id (optional, otherwise applied to all edges, must have a virtual_relation_label to use this parameter) + + - Acceptable input types: string. + + - This is not a required parameter and may be omitted. + + - `n00` and `n01` are examples of valid inputs. + ### overlay(action=fisher_exact_test) `fisher_exact_test` computes the Fisher's Exact Test p-values of the connection between a list of given nodes with specified query id (subject_qnode_key eg. 'n01') to their adjacent nodes with specified query id (e.g. object_qnode_key 'n02') in the message knowledge graph. @@ -393,47 +474,6 @@ _, pvalue = stats.fisher_exact([[a, b], [c, d]]) - If not specified the default input will be None. -### overlay(action=overlay_exposures_data) - -`overlay_exposures_data` overlays edges with p-values obtained from the ICEES+ (Integrated Clinical and Environmental Exposures Service) knowledge provider. -This information is included in edge attributes with the name `icees_p-value`. -You have the choice of applying this to all edges in the knowledge graph, or only between specified subject/object qnode IDs. If the latter, the data is added in 'virtual' edges with the type `has_icees_p-value_with`. - -This can be applied to an arbitrary knowledge graph (i.e. not just those created/recognized by Expander Agent). - - -#### parameters: - -* ##### virtual_relation_label - - - An optional label to help identify the virtual edge in the relation field. - - - Acceptable input types: string. - - - This is not a required parameter and may be omitted. - - - `N1` and `J2` are examples of valid inputs. - -* ##### subject_qnode_key - - - A specific subject query node id (optional, otherwise applied to all edges, must have a virtual_relation_label to use this parameter) - - - Acceptable input types: string. - - - This is not a required parameter and may be omitted. - - - `n00` and `n01` are examples of valid inputs. - -* ##### object_qnode_key - - - A specific object query node id (optional, otherwise applied to all edges, must have a virtual_relation_label to use this parameter) - - - Acceptable input types: string. - - - This is not a required parameter and may be omitted. - - - `n00` and `n01` are examples of valid inputs. - ### overlay(action=overlay_clinical_info) `overlay_clinical_info` overlay edges with information obtained from the knowledge provider (KP) Columbia Open Health Data (COHD). @@ -504,56 +544,68 @@ This can be applied to an arbitrary knowledge graph as possible edge types are c - `n00` and `n01` are examples of valid inputs. -### overlay(action=add_node_pmids) +### overlay(action=compute_jaccard) -`add_node_pmids` adds PubMed PMID's as node attributes to each node in the knowledge graph. -This information is obtained from mapping node identifiers to MeSH terms and obtaining which PubMed articles have this MeSH term -either labeling in the metadata or has the MeSH term occurring in the abstract of the article. +`compute_jaccard` creates virtual edges and adds an edge attribute (with the property name `jaccard_index`) containing the following information: +The jaccard similarity measures how many `intermediate_node_key`'s are shared in common between each `start_node_key` and `object_node_key`. +This is used for purposes such as "find me all drugs (`start_node_key`) that have many proteins (`intermediate_node_key`) in common with this disease (`end_node_key`)." +This can be used for downstream filtering to concentrate on relevant bioentities. This can be applied to an arbitrary knowledge graph as possible edge types are computed dynamically (i.e. not just those created/recognized by the ARA Expander team). #### parameters: -* ##### max_num +* ##### start_node_key - - The maximum number of values to return. Enter 'all' to return everything + - A curie id specifying the starting node - - Acceptable input types: int or string. + - Acceptable input types: string. - - This is not a required parameter and may be omitted. + - This is a required parameter and must be included. - - `all`, `5`, and `50` are examples of valid inputs. + - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. - - If not specified the default input will be 100. +* ##### intermediate_node_key -### overlay(action=compute_ngd) + - A curie id specifying the intermediate node -`compute_ngd` computes a metric (called the normalized Google distance) based on edge soure/object node co-occurrence in abstracts of all PubMed articles. -This information is then included as an edge attribute with the name `normalized_google_distance`. -You have the choice of applying this to all edges in the knowledge graph, or only between specified subject/object qnode id's. If the later, virtual edges are added with the type specified by `virtual_relation_label`. + - Acceptable input types: string. -Use cases include: + - This is a required parameter and must be included. -* focusing in on edges that are well represented in the literature -* focusing in on edges that are under-represented in the literature + - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. -This can be applied to an arbitrary knowledge graph as possible edge types are computed dynamically (i.e. not just those created/recognized by the ARA Expander team). - +* ##### end_node_key -#### parameters: + - A curie id specifying the ending node -* ##### default_value + - Acceptable input types: string. - - The default value of the normalized Google distance (if its value cannot be determined) + - This is a required parameter and must be included. + + - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. + +* ##### virtual_relation_label + + - An optional label to help identify the virtual edge in the relation field. - Acceptable input types: string. - - This is not a required parameter and may be omitted. + - This is a required parameter and must be included. - - `0` and `inf` are examples of valid inputs. + - `N1`, `J2`, and `FET` are examples of valid inputs. - - If not specified the default input will be inf. +### overlay(action=overlay_exposures_data) + +`overlay_exposures_data` overlays edges with p-values obtained from the ICEES+ (Integrated Clinical and Environmental Exposures Service) knowledge provider. +This information is included in edge attributes with the name `icees_p-value`. +You have the choice of applying this to all edges in the knowledge graph, or only between specified subject/object qnode IDs. If the latter, the data is added in 'virtual' edges with the type `has_icees_p-value_with`. + +This can be applied to an arbitrary knowledge graph (i.e. not just those created/recognized by Expander Agent). + + +#### parameters: * ##### virtual_relation_label @@ -585,58 +637,6 @@ This can be applied to an arbitrary knowledge graph as possible edge types are c - `n00` and `n01` are examples of valid inputs. -### overlay(action=compute_jaccard) - -`compute_jaccard` creates virtual edges and adds an edge attribute (with the property name `jaccard_index`) containing the following information: -The jaccard similarity measures how many `intermediate_node_key`'s are shared in common between each `start_node_key` and `object_node_key`. -This is used for purposes such as "find me all drugs (`start_node_key`) that have many proteins (`intermediate_node_key`) in common with this disease (`end_node_key`)." -This can be used for downstream filtering to concentrate on relevant bioentities. - -This can be applied to an arbitrary knowledge graph as possible edge types are computed dynamically (i.e. not just those created/recognized by the ARA Expander team). - - -#### parameters: - -* ##### start_node_key - - - A curie id specifying the starting node - - - Acceptable input types: string. - - - This is a required parameter and must be included. - - - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. - -* ##### intermediate_node_key - - - A curie id specifying the intermediate node - - - Acceptable input types: string. - - - This is a required parameter and must be included. - - - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. - -* ##### end_node_key - - - A curie id specifying the ending node - - - Acceptable input types: string. - - - This is a required parameter and must be included. - - - `DOID:1872`, `CHEBI:7476`, and `UMLS:C1764836` are examples of valid inputs. - -* ##### virtual_relation_label - - - An optional label to help identify the virtual edge in the relation field. - - - Acceptable input types: string. - - - This is a required parameter and must be included. - - - `N1`, `J2`, and `FET` are examples of valid inputs. - ## ARAX_filter_kg ### filter_kg(action=remove_edges_by_predicate) @@ -1656,14 +1656,14 @@ Use cases include: * finding out how 2 concepts are connected. -You have the option to limit the maximum length of connections for node pairs (via `max_path_length=`) +You have the option to limit the maximum number of edges in a path (via `max_path_length=`) #### parameters: * ##### max_path_length - - The maximum edges to connect nodes with. If not provided defaults to 2. + - The maximum edges to connect two nodes with. If not provided defaults to 2. - Acceptable input types: integer. @@ -1675,23 +1675,23 @@ You have the option to limit the maximum length of connections for node pairs (v * ##### qnode_keys - - List of qnode keys to connect. If not provided or empty all qnode_keys will be connected. If not empty must have at least 2 elements. + - List with just two qnode keys to connect. example: [n1, n2] - Acceptable input types: list. - - This is not a required parameter and may be omitted. + - This is a required parameter and must be included. - `['n01', 'n02']` and `[]` are examples of valid inputs. -* ##### result_as +* ##### node_category_constraint - - It determines how to receive the results. For instance, one_by_one means that it will return each path in one subgraph. The default value is betweenness_centrality + - This constraint will display paths that only pass through the user-specified category. - Acceptable input types: string. - This is not a required parameter and may be omitted. - - `['betweenness_centrality', 'all_in_one', 'one_by_one']` and `[]` are examples of valid inputs. + - `biolink:Disease`, `biolink:Gene`, and `biolink:ChemicalEntity` are examples of valid inputs. ## ARAX_infer ### infer(action=drug_treatment_graph_expansion) diff --git a/code/ARAX/Examples/kg2_api_example.json b/code/ARAX/Examples/kg2_api_example.json index 439039988..886ca3ca5 100644 --- a/code/ARAX/Examples/kg2_api_example.json +++ b/code/ARAX/Examples/kg2_api_example.json @@ -3,14 +3,14 @@ "query_graph":{ "nodes":{ "n00":{ - "id":"CHEMBL.COMPOUND:CHEMBL112", - "category":[ + "ids":["CHEMBL.COMPOUND:CHEMBL112"], + "categories":[ "biolink:Drug" ], "is_set":false }, "n01":{ - "category":[ + "categories":[ "biolink:Gene", "biolink:Protein" ], @@ -19,7 +19,7 @@ }, "edges":{ "e00":{ - "predicate":[ + "predicates":[ "biolink:interacts_with" ], "subject":"n00", @@ -29,4 +29,4 @@ } } } -} +} \ No newline at end of file diff --git a/code/ARAX/Examples/kg2_api_example.py b/code/ARAX/Examples/kg2_api_example.py index 2860204c9..1fe0f3e5e 100644 --- a/code/ARAX/Examples/kg2_api_example.py +++ b/code/ARAX/Examples/kg2_api_example.py @@ -6,6 +6,7 @@ with open("kg2_api_example.json", "r") as input_file: trapi_message = json.load(input_file) - result = requests.post("https://arax.ncats.io/api/rtxkg2/v1.0/query?bypass_cache=false", - json=trapi_message) + result = requests.post("https://kg2cploverdb.transltr.io/query", + json=trapi_message, + headers={"Content-Type": "application/json"}) pprint.pprint(result.json()) diff --git a/code/ARAX/KnowledgeSources/RTX_KG2c_test_triples.json b/code/ARAX/KnowledgeSources/RTX_KG2c_test_triples.json index fd9a873ce..999df903a 100644 --- a/code/ARAX/KnowledgeSources/RTX_KG2c_test_triples.json +++ b/code/ARAX/KnowledgeSources/RTX_KG2c_test_triples.json @@ -4,10 +4,10 @@ "edges": [ { "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "HP:0000016", - "object_id": "UMLS:C0003385", + "object_id": "CHEBI:7003", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21,10 +21,10 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1854", - "object_id": "UNII:20ED16GHEB", + "subject_id": "CHEMBL.TARGET:CHEMBL1075126", + "object_id": "UNII:N4JTA67V3O", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -38,10 +38,10 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:28017", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:27899", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -55,10 +55,10 @@ }, { "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0002085", - "object_id": "CHEBI:28017", + "object_id": "CHEBI:28966", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -72,10 +72,10 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "HGNC:12529", - "object_id": "UMLS:C0013227", + "object_id": "CHEBI:4462", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -89,10 +89,10 @@ }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "CHEBI:10545", - "object_id": "PUBCHEM.COMPOUND:23686432", + "object_id": "CHEBI:24828", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -106,10 +106,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "CHEBI:100", - "object_id": "UMLS:C0003402", + "object_id": "CHEBI:9180", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -122,11 +122,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0003304", + "subject_id": "CHEBI:131391", + "object_id": "CHEBI:6636", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -140,10 +140,10 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1786", - "object_id": "PUBCHEM.COMPOUND:11125", + "subject_id": "CHEMBL.TARGET:CHEMBL1275216", + "object_id": "UNII:9X9581N56R", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -157,10 +157,10 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "UMLS:C0002842", + "subject_id": "HGNC:12280", + "object_id": "CHEBI:8361", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -174,10 +174,10 @@ }, { "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "EFO:0004351", - "object_id": "UMLS:C0013227", + "subject_id": "HP:0000016", + "object_id": "CHEBI:4462", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -191,10 +191,10 @@ }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0003451", + "object_id": "CHEBI:18070", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -208,10 +208,10 @@ }, { "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:D000089703", - "object_id": "UNII:G9WJT6RD29", + "subject_id": "CHV:0000021208", + "object_id": "CHEBI:134126", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -225,10 +225,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:100147", - "object_id": "UMLS:C0013227", + "subject_id": "CHEBI:10002", + "object_id": "PUBCHEM.COMPOUND:161498078", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -242,10 +242,10 @@ }, { "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "UMLS:C0003289", + "subject_id": "CHEBI:114786", + "object_id": "CHEBI:4698", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -259,10 +259,10 @@ }, { "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCIT:C19989", - "object_id": "UMLS:C0002932", + "subject_id": "UMLS:C0004048", + "object_id": "CHEBI:26710", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -276,10 +276,10 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:28017", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:52104", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -293,10 +293,10 @@ }, { "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "GO:0005604", - "object_id": "UMLS:C0077803", + "object_id": "CHEBI:34956", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -310,10 +310,10 @@ }, { "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "UMLS:C0001645", + "subject_id": "CHV:0000000950", + "object_id": "CHEBI:27899", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -327,10 +327,10 @@ }, { "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "GO:0000049", - "object_id": "UMLS:C0013227", + "object_id": "CHEBI:17843", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -344,10 +344,10 @@ }, { "subject_category": "biolink:Cell", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "CHEBI:16261", + "subject_id": "CL:0000010", + "object_id": "CHEBI:2417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -361,10 +361,10 @@ }, { "subject_category": "biolink:Disease", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "DOID:0081144", - "object_id": "UNII:JGA39ICE2V", + "subject_id": "DOID:9007", + "object_id": "CHEBI:6484", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -378,10 +378,10 @@ }, { "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "GO:0000724", - "object_id": "UMLS:C0013227", + "subject_id": "GO:0006260", + "object_id": "CHEBI:17843", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -395,10 +395,10 @@ }, { "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "UBERON:0000044", - "object_id": "CHEBI:16261", + "object_id": "CHEBI:26710", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -412,10 +412,10 @@ }, { "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "CHEBI:28017", + "subject_id": "UBERON:0000002", + "object_id": "PUBCHEM.COMPOUND:168266256", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -429,10 +429,10 @@ }, { "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000854", - "object_id": "CHEBI:61995", + "subject_id": "UMLS:C0001166", + "object_id": "CHEBI:134126", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -446,10 +446,10 @@ }, { "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0005938", - "object_id": "MESH:D044243", + "object_id": "CHEBI:190513", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -466,7 +466,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "CHEBI:10545", - "object_id": "CHEBI:100241", + "object_id": "CHEBI:134856", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -483,7 +483,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "CHEBI:100", - "object_id": "CHEBI:16914", + "object_id": "CHEBI:28420", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -500,7 +500,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "HGNC:10082", - "object_id": "CHEBI:15903", + "object_id": "CHEBI:4167", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -517,7 +517,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "CHEMBL.TARGET:CHEMBL1075091", - "object_id": "PUBCHEM.COMPOUND:139394142", + "object_id": "UNII:16F6055SMG", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -584,8 +584,8 @@ "subject_category": "biolink:Disease", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "DOID:0081144", - "object_id": "CHEBI:957", + "subject_id": "DOID:0111253", + "object_id": "CHEBI:63620", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -601,8 +601,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "CHEBI:10138", + "subject_id": "CHV:0000000950", + "object_id": "CHEBI:15367", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -618,8 +618,8 @@ "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "CHEBI:15603", + "subject_id": "UBERON:0000002", + "object_id": "CHEBI:15377", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -636,7 +636,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "CHEMBL.TARGET:CHEMBL1075126", - "object_id": "PUBCHEM.COMPOUND:135338378", + "object_id": "UNII:2WTV10SIKH", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -649,11 +649,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "CHEBI:28177", + "subject_id": "HGNC:10082", + "object_id": "CHEBI:4167", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -669,8 +669,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:10033", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:15366", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -683,11 +683,11 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Device", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "CHEBI:15903", + "subject_id": "UMLS:C0002671", + "object_id": "CHEBI:7582", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -700,11 +700,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "CHEBI:10362", + "subject_id": "CHEBI:114786", + "object_id": "CHEBI:15551", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -717,11 +717,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Food", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL3826826", - "object_id": "PUBCHEM.COMPOUND:131842141", + "subject_id": "UMLS:C0006494", + "object_id": "CHEBI:15366", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -734,11 +734,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "CHEBI:16523", + "subject_id": "UMLS:C0002085", + "object_id": "CHEBI:10362", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -751,11 +751,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0009008", - "object_id": "CHEBI:15414", + "subject_id": "CHEMBL.TARGET:CHEMBL3826826", + "object_id": "UNII:8CQO07490I", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -768,11 +768,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHV:0000045014", - "object_id": "CHEBI:27584", + "subject_id": "MESH:D059365", + "object_id": "CHEBI:16523", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -785,11 +785,11 @@ ] }, { - "subject_category": "biolink:Device", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002671", - "object_id": "CHEBI:7582", + "subject_id": "GO:0009008", + "object_id": "CHEBI:15414", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -802,11 +802,11 @@ ] }, { - "subject_category": "biolink:Food", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "CHEBI:15366", + "subject_id": "CHV:0000021208", + "object_id": "CHEBI:10043", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -819,11 +819,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Activity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "CHEBI:15864", + "subject_id": "UMLS:C0001288", + "object_id": "CHEBI:25805", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -836,11 +836,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "HP:0003651", - "object_id": "CHEBI:16467", + "subject_id": "DRUGBANK:DB12768", + "object_id": "CHEBI:15864", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -853,11 +853,11 @@ ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "CHEBI:15428", + "subject_id": "HP:0003651", + "object_id": "CHEBI:16467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -870,11 +870,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", + "subject_category": "biolink:Cell", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0019868", - "object_id": "CHEBI:16240", + "subject_id": "CL:0000010", + "object_id": "CHEBI:135946", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -890,8 +890,8 @@ "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "EFO:0004351", - "object_id": "CHEBI:85966", + "subject_id": "HP:0000016", + "object_id": "CHEBI:3084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -907,8 +907,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:10022", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:15422", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -941,8 +941,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "NCIT:C19989", - "object_id": "CHEBI:119915", + "subject_id": "UMLS:C0000936", + "object_id": "CHEBI:6790", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -958,8 +958,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2366047", - "object_id": "CHEBI:45081", + "subject_id": "UMLS:C0004793", + "object_id": "CHEBI:15396", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -992,8 +992,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200448", - "object_id": "CHEBI:15422", + "subject_id": "CHEBI:114786", + "object_id": "CHEBI:16240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1009,8 +1009,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:15033", - "object_id": "CHEBI:94291", + "subject_id": "CHV:0000021208", + "object_id": "CHEBI:10127", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1111,8 +1111,8 @@ "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB11003", - "object_id": "UMLS:C0040549", + "subject_id": "DRUGBANK:DB15794", + "object_id": "CHEBI:16978", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1125,11 +1125,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Procedure", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "HP:0000010", - "object_id": "CHEBI:16737", + "subject_id": "UMLS:C0001884", + "object_id": "CHEBI:135209", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1142,11 +1142,11 @@ ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "CHEBI:113532", + "subject_id": "GO:0000049", + "object_id": "CHEBI:15353", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1159,11 +1159,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "CHEBI:15647", + "subject_id": "GO:0000373", + "object_id": "PUBCHEM.COMPOUND:161830", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1176,11 +1176,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", + "subject_category": "biolink:Cell", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000854", - "object_id": "CHEBI:17760", + "subject_id": "CL:0000010", + "object_id": "CHEBI:107643", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1193,11 +1193,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0000049", - "object_id": "CHEBI:15353", + "subject_id": "UMLS:C0005373", + "object_id": "CHEBI:17051", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1210,11 +1210,11 @@ ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "CHEBI:135209", + "subject_id": "HP:0000010", + "object_id": "CHEBI:16737", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1227,11 +1227,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Phenomenon", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0000373", - "object_id": "PUBCHEM.COMPOUND:161830", + "subject_id": "UMLS:C0000854", + "object_id": "CHEBI:17760", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1244,11 +1244,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005373", - "object_id": "CHEBI:17051", + "subject_id": "GO:0005604", + "object_id": "CHEBI:15647", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1264,8 +1264,8 @@ "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "MESH:D011387", - "object_id": "CHEBI:10022", + "subject_id": "UMLS:C1167395", + "object_id": "CHEBI:133011", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1295,11 +1295,11 @@ ] }, { - "subject_category": "biolink:Behavior", + "subject_category": "biolink:Activity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "CHEBI:17895", + "subject_id": "UMLS:C0038813", + "object_id": "CHEBI:27616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1312,15 +1312,15 @@ ] }, { - "subject_category": "biolink:Activity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001288", - "object_id": "CHEBI:25805", + "subject_id": "UMLS:C1511997", + "object_id": "CHEBI:135554", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1329,11 +1329,11 @@ ] }, { - "subject_category": "biolink:Activity", + "subject_category": "biolink:Behavior", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0038813", - "object_id": "CHEBI:27616", + "subject_id": "UMLS:C0002957", + "object_id": "CHEBI:17895", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1346,15 +1346,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Phenomenon", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "CHEBI:135554", + "subject_id": "UMLS:C0019868", + "object_id": "CHEBI:16240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1383,8 +1383,8 @@ "subject_category": "biolink:CellularComponent", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0009279", - "object_id": "CHEBI:71229", + "subject_id": "MESH:D000086942", + "object_id": "CHEBI:5931", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1451,8 +1451,8 @@ "subject_category": "biolink:Phenomenon", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0178576", - "object_id": "CHEBI:8027", + "subject_id": "UMLS:C0242290", + "object_id": "CHEBI:15930", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1499,11 +1499,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "PUBCHEM.COMPOUND:145945263", + "subject_id": "HGNC:12278", + "object_id": "MESH:C022466", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1516,11 +1516,28 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "CHEBI:100", + "object_id": "MESH:D004798", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "PUBCHEM.COMPOUND:135442941", + "subject_id": "CHEBI:100", + "object_id": "CHEBI:25029", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1533,11 +1550,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005778", - "object_id": "PUBCHEM.COMPOUND:11313", + "subject_id": "CHEBI:10545", + "object_id": "CHEBI:18276", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1550,11 +1567,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "HP:0000010", + "object_id": "CHEBI:50114", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1567,11 +1584,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "PUBCHEM.COMPOUND:2723710", + "subject_id": "CHV:0000000950", + "object_id": "CHEBI:17761", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1584,11 +1601,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "PUBCHEM.COMPOUND:168009821", + "subject_id": "UBERON:0000044", + "object_id": "CHEBI:16261", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1601,11 +1618,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100", - "object_id": "CHEBI:27834", + "subject_id": "GO:0000049", + "object_id": "CHEBI:15986", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1613,20 +1630,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "CHEBI:100241", + "subject_id": "UMLS:C0000854", + "object_id": "CHEBI:32952", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1635,15 +1652,15 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C000632500", - "object_id": "CHEBI:61076", + "subject_id": "UBERON:0000002", + "object_id": "CHEBI:35341", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1652,11 +1669,11 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "CHEBI:15729", + "subject_id": "CHEBI:10545", + "object_id": "CHEBI:18154", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1664,16 +1681,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "CHEBI:132853", + "subject_id": "CHEBI:114786", + "object_id": "CHEBI:29256", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1681,20 +1698,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Drug", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "CHEBI:104872", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1703,15 +1720,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0079686", - "object_id": "CHEBI:15367", + "subject_id": "HGNC:10082", + "object_id": "CHEBI:33699", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1720,11 +1737,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "CHEBI:15552", + "subject_id": "CHEBI:114786", + "object_id": "MESH:D004156", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1732,16 +1749,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Drug", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0496675", - "object_id": "CHEBI:135530", + "subject_id": "CHV:0000010203", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1754,28 +1771,28 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:5783", - "object_id": "CHEBI:66682", + "subject_id": "CHEMBL.TARGET:CHEMBL1075313", + "object_id": "CHEMBL.COMPOUND:CHEMBL3137350", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "CHEBI:142437", + "subject_id": "UMLS:C0000936", + "object_id": "CHEBI:33853", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1788,11 +1805,11 @@ ] }, { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907606", - "object_id": "PUBCHEM.COMPOUND:121408882", + "subject_id": "CHEMBL.TARGET:CHEMBL1075319", + "object_id": "CHEMBL.COMPOUND:CHEMBL3707315", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1800,29 +1817,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:116443", - "object_id": "CHEBI:53289", + "subject_id": "NCBIGene:10381", + "object_id": "CHEBI:32296", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCIT:C28506", - "object_id": "MESH:D010206", + "subject_id": "CHEMBL.TARGET:CHEMBL1907593", + "object_id": "CHEBI:55326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1830,16 +1851,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Drug", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "PUBCHEM.COMPOUND:21195079", + "subject_id": "UMLS:C0017654", + "object_id": "CHEBI:2417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1847,20 +1868,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Drug", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "PUBCHEM.COMPOUND:71306834", + "subject_id": "CHV:0000021208", + "object_id": "CHEBI:134126", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1869,11 +1890,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Drug", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0016326", - "object_id": "PUBCHEM.COMPOUND:14781", + "subject_id": "MESH:D000077215", + "object_id": "CHEBI:133354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1886,11 +1907,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10047593", - "object_id": "UMLS:C0242974", + "subject_id": "UBERON:0008826", + "object_id": "CHEBI:133354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1903,11 +1924,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL3826826", - "object_id": "UNII:033072U4MZ", + "subject_id": "UMLS:C0002085", + "object_id": "CHEBI:28966", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1915,16 +1936,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0007165", - "object_id": "CHEBI:34674", + "object_id": "CHEBI:2417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1938,10 +1959,10 @@ }, { "subject_category": "biolink:Disease", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MONDO:0000313", - "object_id": "UMLS:C0011947", + "subject_id": "MONDO:0000837", + "object_id": "CHEBI:190513", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1955,10 +1976,10 @@ }, { "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0005839", - "object_id": "CHEBI:34674", + "object_id": "CHEBI:27899", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -1971,15 +1992,15 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Device", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0150598", - "object_id": "RXCUI:795705", + "subject_id": "UMLS:C0011323", + "object_id": "CHEBI:30251", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -1988,15 +2009,15 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Drug", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "PUBCHEM.COMPOUND:9433", + "subject_id": "UMLS:C0449238", + "object_id": "CHEBI:2417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2005,28 +2026,28 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:116443", - "object_id": "PUBCHEM.COMPOUND:11029", + "subject_id": "UMLS:C0001811", + "object_id": "CHEBI:26710", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "PUBCHEM.COMPOUND:13743928", + "subject_id": "NCIT:C28506", + "object_id": "CHEBI:137694", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2039,11 +2060,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Cell", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "PUBCHEM.COMPOUND:10313163", + "subject_id": "CL:0000010", + "object_id": "CHEBI:81567", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2051,16 +2072,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:Activity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "UMLS:C0003448", + "subject_id": "UMLS:C0015259", + "object_id": "CHEBI:6446", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2073,11 +2094,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "MESH:C492535", + "subject_id": "UMLS:C0004793", + "object_id": "CHEBI:17833", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2085,16 +2106,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "CHEBI:34674", + "subject_id": "HP:0003651", + "object_id": "PUBCHEM.COMPOUND:167704086", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2102,16 +2123,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Food", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017654", - "object_id": "CHEBI:34674", + "subject_id": "UMLS:C0012171", + "object_id": "CHEBI:25681", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2119,16 +2140,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Drug", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "CHEBI:34674", + "subject_id": "MESH:D020077", + "object_id": "CHEBI:4462", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2136,16 +2157,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "PUBCHEM.COMPOUND:10313163", + "subject_id": "UMLS:C0184511", + "object_id": "CHEBI:4508", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2153,16 +2174,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1075126", - "object_id": "CHEMBL.COMPOUND:CHEMBL4297223", + "subject_id": "CHEMBL.TARGET:CHEMBL2366047", + "object_id": "CHEBI:7977", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2170,16 +2191,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "PUBCHEM.COMPOUND:11378442", + "subject_id": "UBERON:0001048", + "object_id": "CHEBI:4026", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2187,33 +2208,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:Procedure", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "PUBCHEM.COMPOUND:453626", + "subject_id": "UMLS:C0001884", + "object_id": "CHEBI:31453", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Behavior", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "HP:0000144", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "UMLS:C0002957", + "object_id": "CHEBI:5781", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2226,11 +2247,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", + "subject_category": "biolink:Activity", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001166", - "object_id": "PUBCHEM.COMPOUND:453626", + "subject_id": "UMLS:C0237820", + "object_id": "CHEBI:133354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2243,11 +2264,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:Protein", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "PUBCHEM.COMPOUND:53356667", + "subject_id": "UMLS:C0002198", + "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2260,11 +2281,11 @@ ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:Procedure", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MONDO:0000490", - "object_id": "PUBCHEM.COMPOUND:168009821", + "subject_id": "UMLS:C0001884", + "object_id": "CHEBI:2417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2277,11 +2298,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Publication", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10047593", - "object_id": "PUBCHEM.COMPOUND:57402144", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:4462", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2294,15 +2315,15 @@ ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "CHEBI:16737", + "subject_id": "MESH:C045793", + "object_id": "CHEBI:31934", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2311,11 +2332,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Activity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1875", - "object_id": "UNII:J4VNV64ARB", + "subject_id": "UMLS:C0496675", + "object_id": "CHEBI:32151", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2323,20 +2344,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "MESH:D004798", + "subject_id": "UMLS:C1167395", + "object_id": "CHEBI:17843", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2345,45 +2366,45 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "CHEBI:22563", + "subject_id": "CHEBI:60285", + "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017654", - "object_id": "CHEBI:132952", + "subject_id": "UMLS:C0020969", + "object_id": "CHEBI:17843", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Food", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:17029", + "subject_id": "UMLS:C0012171", + "object_id": "CHEBI:30251", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2396,11 +2417,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "HP:0000016", - "object_id": "UMLS:C0242402", + "subject_id": "CHEBI:60160", + "object_id": "CHEBI:5781", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2413,33 +2434,16 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1075308", - "object_id": "CHEMBL.COMPOUND:CHEMBL1201554", + "subject_id": "UMLS:C0449238", + "object_id": "CHEBI:102166", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:ChemicalEntity", - "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "CHEBI:23044", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -2447,11 +2451,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Procedure", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "UMLS:C0001884", + "object_id": "CHEBI:132853", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2459,16 +2463,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0150479", - "object_id": "CHEBI:16243", + "subject_id": "UMLS:C0005938", + "object_id": "CHEBI:104872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2481,11 +2485,11 @@ ] }, { - "subject_category": "biolink:Behavior", + "subject_category": "biolink:GeneFamily", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009928", - "object_id": "CHEBI:16236", + "subject_id": "CHEMBL.TARGET:CHEMBL1907606", + "object_id": "PUBCHEM.COMPOUND:124122366", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2501,42 +2505,38 @@ "subject_category": "biolink:Gene", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1544", - "object_id": "CHEBI:10033", + "subject_id": "NCBIGene:100", + "object_id": "CHEBI:27834", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:Gene", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597832", - "object_id": "CHEBI:15903", + "subject_id": "NCBIGene:116443", + "object_id": "CHEBI:145499", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Cell", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907598", - "object_id": "UNII:X85G7936GV", + "subject_id": "CL:0000010", + "object_id": "CHEBI:33699", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2544,16 +2544,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0496675", - "object_id": "UMLS:C0003211", + "subject_id": "GO:0009008", + "object_id": "MESH:D008233", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2561,29 +2561,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10000", - "object_id": "CHEBI:67271", + "subject_id": "UMLS:C0002085", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "CHEBI:15377", + "subject_id": "HP:0000016", + "object_id": "UMLS:C0242402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2596,45 +2600,45 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Disease", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "HGNC:39002", - "object_id": "PUBCHEM.COMPOUND:3085415", + "subject_id": "DOID:0111252", + "object_id": "CHEBI:26519", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Behavior", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1075232", - "object_id": "PUBCHEM.COMPOUND:91809208", + "subject_id": "UMLS:C0002957", + "object_id": "MESH:D004602", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Device", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCIT:C28506", - "object_id": "PUBCHEM.COMPOUND:11560225", + "subject_id": "UMLS:C0002671", + "object_id": "MESH:D019255", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2647,11 +2651,11 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007742", - "object_id": "CHEBI:30185", + "subject_id": "CHV:0000018086", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108747", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2659,16 +2663,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL3833461", - "object_id": "UNII:2NU6F9601K", + "subject_id": "UMLS:C0007165", + "object_id": "CHEBI:16684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2681,11 +2685,11 @@ ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Disease", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907589", - "object_id": "CHEBI:17688", + "subject_id": "MONDO:0000837", + "object_id": "CHEBI:16684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2693,16 +2697,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "CHEBI:15377", + "subject_id": "GO:0005604", + "object_id": "CHEBI:18085", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2715,11 +2719,11 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238711", - "object_id": "CHEBI:16236", + "subject_id": "UMLS:C0005839", + "object_id": "CHEBI:24261", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2732,15 +2736,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "CHEBI:18154", + "subject_id": "GO:0000012", + "object_id": "CHEBI:26523", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2749,49 +2753,49 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:Activity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "CHEBI:16247", + "subject_id": "UMLS:C0150598", + "object_id": "DRUGBANK:DB14222", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Cell", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "HGNC:12278", - "object_id": "MESH:C022466", + "subject_id": "CL:0000010", + "object_id": "CHEBI:15430", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Procedure", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "CHEBI:33699", + "subject_id": "UMLS:C0001884", + "object_id": "CHEBI:16684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2800,15 +2804,15 @@ ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "DOID:0081144", - "object_id": "MESH:D057134", + "subject_id": "CHV:0000021208", + "object_id": "CHEBI:16038", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2817,45 +2821,45 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "CHEBI:24261", + "subject_id": "MESH:D000077215", + "object_id": "CHEBI:26710", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Device", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000854", - "object_id": "CHEBI:32952", + "subject_id": "UMLS:C0016326", + "object_id": "CHEBI:32129", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:16247", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0003308", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2869,14 +2873,14 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:16027", - "object_id": "UNII:HW3H7D91F6", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -2885,11 +2889,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UBERON:0001236", - "object_id": "CHEBI:2719", + "subject_id": "HP:0000016", + "object_id": "UMLS:C0001641", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2897,67 +2901,67 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Pathway", + "subject_category": "biolink:Activity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0000077", - "object_id": "CHEBI:27732", + "subject_id": "UMLS:C0549255", + "object_id": "CHEBI:10093", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:NamedThing", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0221279", - "object_id": "CHEBI:15422", + "subject_id": "CHV:0000042589", + "object_id": "CHEBI:16737", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004112", - "object_id": "PUBCHEM.COMPOUND:137699677", + "subject_id": "NCBIGene:10381", + "object_id": "UNII:P188ANX8CK", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", "subject_id": "UMLS:C0017654", - "object_id": "PUBCHEM.COMPOUND:104840", + "object_id": "CHEBI:132952", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2970,11 +2974,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0006260", - "object_id": "PUBCHEM.COMPOUND:159842316", + "subject_id": "UMLS:C0150479", + "object_id": "CHEBI:16243", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -2988,27 +2992,27 @@ }, { "subject_category": "biolink:Procedure", - "object_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", "subject_id": "UMLS:C0001884", - "object_id": "PUBCHEM.COMPOUND:72028", + "object_id": "CHEBI:16684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Activity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "PUBCHEM.COMPOUND:133082075", + "subject_id": "UMLS:C0260581", + "object_id": "CHEBI:18154", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3021,11 +3025,11 @@ ] }, { - "subject_category": "biolink:Device", + "subject_category": "biolink:Behavior", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002671", - "object_id": "MESH:D019255", + "subject_id": "UMLS:C0009928", + "object_id": "CHEBI:16684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3033,20 +3037,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "MESH:C484670", + "subject_id": "UMLS:C0005938", + "object_id": "CHEBI:24621", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3055,15 +3059,15 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:NamedThing", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "CHEBI:16038", + "subject_id": "CHV:0000042589", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3072,11 +3076,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCIT:C19989", - "object_id": "MESH:D001463", + "subject_id": "UMLS:C0002085", + "object_id": "CHEBI:16247", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3089,11 +3093,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "CHEBI:25029", + "subject_id": "CHEMBL.TARGET:CHEMBL3826826", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108735", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3101,16 +3105,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Behavior", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "CHEBI:17002", + "subject_id": "UMLS:C0009928", + "object_id": "CHEBI:16236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3123,28 +3127,28 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200470", - "object_id": "MESH:C022761", + "subject_id": "NCBIGene:1544", + "object_id": "UNII:P14877CDX2", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UBERON:0001048", - "object_id": "CHEBI:18154", + "subject_id": "UMLS:C0597832", + "object_id": "CHEBI:4167", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3157,28 +3161,41 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "CHEBI:18154", + "subject_id": "NCBIGene:1544", + "object_id": "CHEBI:10033", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007165", - "object_id": "MESH:C061028", + "subject_id": "NCBIGene:10000", + "object_id": "CHEBI:67271", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + } + ] + }, + { + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0033213", + "object_id": "CHEBI:15729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3191,11 +3208,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0026377", - "object_id": "MESH:D007106", + "subject_id": "UMLS:C0015919", + "object_id": "CHEBI:133011", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3203,20 +3220,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "EFO:0004351", - "object_id": "MESH:D062789", + "subject_id": "UMLS:C0007742", + "object_id": "CHEBI:27363", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3225,11 +3242,28 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0000049", - "object_id": "CHEBI:15986", + "subject_id": "CHEMBL.TARGET:CHEMBL1907589", + "object_id": "CHEBI:17688", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0677040", + "object_id": "CHEBI:15377", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3242,11 +3276,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005839", - "object_id": "CHEBI:24261", + "subject_id": "CHEBI:25614", + "object_id": "CHEBI:142437", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0238711", + "object_id": "CHEBI:16236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3259,11 +3310,28 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Behavior", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "CHEBI:16412", + "subject_id": "UMLS:C0009928", + "object_id": "CHEBI:31228", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0677040", + "object_id": "CHEBI:61040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3276,11 +3344,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Protein", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "CHEBI:16412", + "subject_id": "UMLS:C0079686", + "object_id": "CHEBI:15367", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3293,11 +3361,28 @@ ] }, { - "subject_category": "biolink:Activity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0150598", - "object_id": "MESH:D004602", + "subject_id": "CHEBI:15724", + "object_id": "UNII:T9FVH03HMZ", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3310,11 +3395,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Pathway", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "CHEBI:18085", + "subject_id": "GO:0000077", + "object_id": "CHEBI:25016", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3327,11 +3412,28 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Cell", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0221279", + "object_id": "CHEBI:15422", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "MESH:D010770", + "subject_id": "UMLS:C0449238", + "object_id": "CHEBI:10545", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3344,11 +3446,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D042461", - "object_id": "CHEMBL.COMPOUND:CHEMBL2108313", + "subject_id": "UBERON:0008826", + "object_id": "CHEBI:135590", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3356,16 +3458,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Food", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "MESH:D000906", + "subject_id": "UMLS:C0006494", + "object_id": "CHEBI:17002", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3373,16 +3475,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL3826826", - "object_id": "CHEMBL.COMPOUND:CHEMBL2108735", + "subject_id": "UBERON:0001048", + "object_id": "CHEBI:18154", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3390,33 +3492,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Drug", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "PUBCHEM.COMPOUND:168010173", + "subject_id": "UMLS:C0033213", + "object_id": "CHEBI:18154", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Drug", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001811", - "object_id": "PUBCHEM.COMPOUND:5234", + "subject_id": "DRUGBANK:DB10276", + "object_id": "MESH:D000906", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3429,11 +3531,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "CHEBI:16261", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0309989", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3467,7 +3569,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "UMLS:C0314621", - "object_id": "CHEBI:15903", + "object_id": "CHEBI:17561", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3480,11 +3582,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0039703", - "object_id": "CHEBI:15428", + "subject_id": "MESH:D008925", + "object_id": "CHEBI:18295", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3497,11 +3599,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Drug", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0598962", - "object_id": "UMLS:C0003289", + "subject_id": "GO:0039703", + "object_id": "CHEBI:15428", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3509,16 +3611,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Phenomenon", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "HP:0000752", - "object_id": "PUBCHEM.COMPOUND:125677", + "subject_id": "UMLS:C0598962", + "object_id": "CHEBI:51063", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3535,7 +3637,7 @@ "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "NCBIGene:117159", - "object_id": "PUBCHEM.COMPOUND:5727", + "object_id": "UNII:86Q357L16B", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3564,12 +3666,46 @@ } ] }, + { + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UBERON:0002481", + "object_id": "CHEBI:28262", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", "subject_id": "CHEBI:17002", - "object_id": "PUBCHEM.COMPOUND:71354164", + "object_id": "UNII:K4YTU42T8G", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "CHEBI:16336", + "object_id": "PUBCHEM.COMPOUND:91820602", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3599,11 +3735,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "CHEBI:16261", + "subject_id": "MESH:D059365", + "object_id": "MESH:D010770", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3616,11 +3752,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597832", - "object_id": "CHEBI:28017", + "subject_id": "UMLS:C0001873", + "object_id": "MESH:D017672", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3633,11 +3769,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "CHEBI:28017", + "subject_id": "CHEMBL.TARGET:CHEMBL3833461", + "object_id": "UNII:2NU6F9601K", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3650,32 +3786,32 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16991", - "object_id": "UNII:953A26OA1Y", + "subject_id": "UMLS:C0541989", + "object_id": "MESH:D007773", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Drug", + "subject_category": "biolink:Protein", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "UMLS:C0006280", + "subject_id": "UniProtKB:O91936", + "object_id": "CHEBI:133009", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3684,11 +3820,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:Gene", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "CHEBI:28017", + "subject_id": "HGNC:12529", + "object_id": "UMLS:C0002842", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3702,14 +3838,14 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:SmallMolecule", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UniProtKB:O91936", - "object_id": "CHEBI:133009", + "subject_id": "CHEMBL.TARGET:CHEMBL1991", + "object_id": "UMLS:C4305726", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3718,11 +3854,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Drug", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "CHEBI:16412", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3730,33 +3866,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0260581", - "object_id": "CHEBI:18154", + "subject_id": "UMLS:C1167395", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Publication", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "CHEBI:49159", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:15627", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3769,32 +3905,32 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GeneFamily", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "MESH:D004602", + "subject_id": "CHEMBL.TARGET:CHEMBL2093863", + "object_id": "CHEBI:2659", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "CHEBI:32952", + "subject_id": "NCBIGene:117159", + "object_id": "CHEBI:32312", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3803,15 +3939,15 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GeneFamily", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "CHEBI:24621", + "subject_id": "CHEMBL.TARGET:CHEMBL2094123", + "object_id": "CHEBI:59730", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3820,11 +3956,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:D011387", - "object_id": "UMLS:C1550678", + "subject_id": "NCBIGene:545", + "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3837,19 +3973,19 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "CHEBI:15627", + "subject_id": "UMLS:C0033213", + "object_id": "CHEBI:31645", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -3857,7 +3993,7 @@ "subject_category": "biolink:GeneFamily", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907610", + "subject_id": "CHEMBL.TARGET:CHEMBL2094251", "object_id": "CHEBI:6933", "qualifiers": [ { @@ -3874,8 +4010,8 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:16027", - "object_id": "PUBCHEM.COMPOUND:121488177", + "subject_id": "CHEBI:15724", + "object_id": "UNII:7D96IR0PPM", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3902,10 +4038,10 @@ }, { "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2111348", - "object_id": "PUBCHEM.COMPOUND:11963622", + "subject_id": "CHEMBL.TARGET:CHEMBL1907589", + "object_id": "UNII:CP1A26546Z", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3918,11 +4054,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "HP:0003651", - "object_id": "PUBCHEM.COMPOUND:71306834", + "subject_id": "CHEBI:100147", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3930,16 +4066,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "PUBCHEM.COMPOUND:453626", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0003451", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3952,15 +4088,15 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "GO:0000049", - "object_id": "PUBCHEM.COMPOUND:159842316", + "subject_id": "CHEMBL.TARGET:CHEMBL1995", + "object_id": "UNII:CQY12ZJN6E", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -3969,11 +4105,11 @@ ] }, { - "subject_category": "biolink:GeneFamily", + "subject_category": "biolink:Gene", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2094111", - "object_id": "PUBCHEM.COMPOUND:71717894", + "subject_id": "HGNC:12529", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -3981,20 +4117,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2520", - "object_id": "CHEBI:31947", + "subject_id": "CHEBI:132103", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "synthesis" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -4003,11 +4139,11 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "CHEBI:16236", + "subject_id": "UMLS:C0001884", + "object_id": "UMLS:C0006280", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4015,16 +4151,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238711", - "object_id": "CHEBI:16236", + "subject_id": "UMLS:C0007165", + "object_id": "UMLS:C0001640", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4037,28 +4173,28 @@ ] }, { - "subject_category": "biolink:Cohort", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Disease", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0338666", - "object_id": "CHEBI:16236", + "subject_id": "MONDO:0000313", + "object_id": "UMLS:C0011947", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Disease", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "GO:0000012", - "object_id": "CHEBI:26523", + "subject_id": "DOID:3125", + "object_id": "UMLS:C0242908", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4071,41 +4207,28 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "UMLS:C0003289", + "subject_id": "HP:0000016", + "object_id": "UMLS:C0003385", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:SmallMolecule", - "predicate": "biolink:causes", - "subject_id": "UniProtKB:P36544", - "object_id": "CHEBI:42944", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "MESH:C039351", + "subject_id": "UMLS:C0001117", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4113,20 +4236,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "MESH:D010770", + "subject_id": "UMLS:C0005938", + "object_id": "UMLS:C0001645", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -4135,15 +4258,15 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001873", - "object_id": "MESH:D017672", + "subject_id": "NCBIGene:2520", + "object_id": "CHEBI:31947", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "synthesis" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -4152,11 +4275,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4630577", - "object_id": "CHEMBL.COMPOUND:CHEMBL3989993", + "subject_id": "UMLS:C0017654", + "object_id": "CHV:0000044484", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4169,32 +4292,32 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "CHEBI:16646", + "subject_id": "CHEBI:5781", + "object_id": "CHEBI:66682", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "CHEBI:16412", + "subject_id": "UMLS:C0696628", + "object_id": "CHEBI:16236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -4203,11 +4326,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "MESH:D000888", + "subject_id": "UMLS:C0238711", + "object_id": "CHEBI:16236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4220,11 +4343,28 @@ ] }, { - "subject_category": "biolink:Behavior", + "subject_category": "biolink:Cohort", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009990", - "object_id": "CHEBI:16469", + "subject_id": "UMLS:C0338666", + "object_id": "CHEBI:16236", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "DRUGBANK:DB12768", + "object_id": "UMLS:C0003448", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4237,11 +4377,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "GO:0009008", - "object_id": "MESH:D008233", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4254,11 +4394,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MONDO:0001196", - "object_id": "MESH:D011098", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C1254351", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4266,16 +4406,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "UMLS:C0369951", + "subject_id": "CHEBI:132106", + "object_id": "UMLS:C0003289", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4288,11 +4445,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0450138", - "object_id": "PUBCHEM.COMPOUND:157010069", + "subject_id": "UBERON:0000044", + "object_id": "UMLS:C0002932", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4305,16 +4462,101 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "NCBIGene:3716", - "object_id": "UNII:HPH1166CKX", + "subject_id": "GO:0000049", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity_or_abundance" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Cell", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0013227", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UBERON:0000002", + "object_id": "UMLS:C0243192", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0001166", + "object_id": "UMLS:C0013227", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "GO:0005604", + "object_id": "UMLS:C0077803", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C0003289", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "decreased" @@ -4322,11 +4564,28 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MESH:C465023", - "object_id": "MESH:D010957", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C1611640", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "CHEBI:25614", + "object_id": "CHEBI:4762", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4339,16 +4598,59 @@ ] }, { - "subject_category": "biolink:Publication", + "subject_category": "biolink:Protein", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "UniProtKB:P36544", + "object_id": "CHEBI:6078", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + } + ] + }, + { + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "NCBIGene:1139", + "object_id": "CHEBI:6078", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + } + ] + }, + { + "subject_category": "biolink:Device", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "CHEBI:17087", + "subject_id": "UMLS:C0003072", + "object_id": "CHEBI:16646", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0020969", + "object_id": "CHEBI:16412", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -4356,11 +4658,28 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "HP:0003651", - "object_id": "CHEBI:26523", + "subject_id": "MESH:D000086942", + "object_id": "MESH:D000888", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Behavior", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0009990", + "object_id": "CHEBI:16469", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4373,11 +4692,11 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "CHEBI:24922", + "subject_id": "DRUGBANK:DB10276", + "object_id": "MESH:C492535", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4390,11 +4709,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Protein", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "MESH:C495669", + "subject_id": "HP:0003651", + "object_id": "CHEBI:26523", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4407,15 +4726,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Device", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0015858", + "subject_id": "UMLS:C0450138", + "object_id": "PUBCHEM.COMPOUND:157010069", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -4424,11 +4743,28 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MESH:D007371", + "subject_id": "CHEBI:66682", + "object_id": "CHEBI:7872", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1373040", + "object_id": "CHEBI:17833", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4440,12 +4776,29 @@ } ] }, + { + "subject_category": "biolink:Cell", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0002318", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0015858", + "object_id": "UMLS:C0010762", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4453,16 +4806,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB11003", - "object_id": "UMLS:C0051962", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0015858", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4470,16 +4823,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MESH:D008049", + "subject_id": "DRUGBANK:DB11003", + "object_id": "UMLS:C0051962", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4495,8 +4848,8 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "MESH:D014613", + "subject_id": "CHEBI:10106", + "object_id": "MESH:D000077215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4529,8 +4882,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "MESH:D014121", + "subject_id": "UMLS:C0001060", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4559,12 +4912,29 @@ } ] }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ComplexMolecularMixture", + "predicate": "biolink:causes", + "subject_id": "CHEBI:10022", + "object_id": "MESH:D001688", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16412", - "object_id": "MESH:D003439", + "subject_id": "CHEBI:15884", + "object_id": "MESH:D010936", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4580,7 +4950,7 @@ "subject_category": "biolink:Cell", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", + "subject_id": "CL:0000081", "object_id": "MESH:D019496", "qualifiers": [ { @@ -4597,8 +4967,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "MESH:D014612", + "subject_id": "UMLS:C0001060", + "object_id": "MESH:D015164", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4648,7 +5018,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "MESH:D006131", "object_id": "MESH:D014612", "qualifiers": [ { @@ -4682,8 +5052,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100653366", - "object_id": "MESH:D022401", + "subject_id": "UMLS:C0009221", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4733,8 +5103,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001811", - "object_id": "MESH:D005620", + "subject_id": "UMLS:C0020964", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4750,8 +5120,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:134820399", - "object_id": "MESH:D022282", + "subject_id": "CHEBI:133354", + "object_id": "MESH:D000077215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4767,8 +5137,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MESH:D007252", + "subject_id": "CHV:0000010203", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4802,7 +5172,7 @@ "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", "subject_id": "HP:0001824", - "object_id": "MESH:D005620", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4818,8 +5188,8 @@ "subject_category": "biolink:GenomicEntity", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C3539704", - "object_id": "MESH:D010578", + "subject_id": "UMLS:C0017346", + "object_id": "MESH:D001688", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4835,7 +5205,7 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2489", + "subject_id": "UMLS:C0004793", "object_id": "MESH:D014612", "qualifiers": [ { @@ -4882,23 +5252,6 @@ } ] }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ComplexMolecularMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "MESH:D000077215", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:DiseaseOrPhenotypicFeature", "object_category": "biolink:ComplexMolecularMixture", @@ -4937,8 +5290,8 @@ "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0011313", - "object_id": "MESH:D014612", + "subject_id": "NCBITaxon:5052", + "object_id": "MESH:D010936", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -4988,25 +5341,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:107756", - "object_id": "MESH:D005620", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:ComplexMolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "MESH:D014612", + "subject_id": "CHEBI:18070", + "object_id": "MESH:D010936", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5022,8 +5358,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHV:0000011375", - "object_id": "MESH:D003031", + "subject_id": "CHV:0000041586", + "object_id": "MESH:D014613", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5125,7 +5461,7 @@ "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0001038", - "object_id": "MESH:D014612", + "object_id": "MESH:D001688", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5141,8 +5477,8 @@ "subject_category": "biolink:Cell", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "MESH:D014613", + "subject_id": "CL:0000066", + "object_id": "MESH:D014612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5158,8 +5494,8 @@ "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "MESH:D005620", + "subject_id": "UBERON:0000178", + "object_id": "MESH:D001428", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5210,7 +5546,7 @@ "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", "subject_id": "UMLS:C0020969", - "object_id": "MESH:D014612", + "object_id": "MESH:D010936", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5257,11 +5593,11 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "MESH:D000086663", + "subject_id": "GO:0006260", + "object_id": "DRUGBANK:DB15794", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5274,11 +5610,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "GO:0006260", - "object_id": "DRUGBANK:DB15794", + "subject_id": "UMLS:C0033213", + "object_id": "MESH:D000086663", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5329,7 +5665,7 @@ "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", "subject_id": "UMLS:C0006494", - "object_id": "CHEBI:35366", + "object_id": "CHEBI:26125", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5342,32 +5678,32 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:21195079", - "object_id": "CHEBI:44185", + "subject_id": "UMLS:C0031911", + "object_id": "CHEBI:4026", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "PUBCHEM.COMPOUND:23443659", + "subject_id": "CHEBI:83353", + "object_id": "CHEMBL.TARGET:CHEMBL2366040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5376,11 +5712,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Drug", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "PUBCHEM.COMPOUND:10339178", + "subject_id": "UBERON:0002481", + "object_id": "CHEBI:31690", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5393,11 +5729,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "PUBCHEM.COMPOUND:9887054", + "subject_id": "CHEMBL.TARGET:CHEMBL1907593", + "object_id": "CHEMBL.COMPOUND:CHEMBL3707249", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5410,62 +5746,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Drug", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "CHEBI:26125", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Drug", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "PUBCHEM.COMPOUND:5284359", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0314621", - "object_id": "PUBCHEM.COMPOUND:4873", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Publication", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "CHEBI:28017", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:137694", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5473,20 +5758,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "CHEBI:16261", + "subject_id": "CHEMBL.TARGET:CHEMBL2364185", + "object_id": "UNII:9GJ8S4GU0M", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5496,44 +5781,44 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "NCBIGene:117159", - "object_id": "PUBCHEM.COMPOUND:24424", + "subject_id": "NCBIGene:1756", + "object_id": "UNII:8CQO07490I", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004268", - "object_id": "PUBCHEM.COMPOUND:131634907", + "subject_id": "CHEMBL.TARGET:CHEMBL4296741", + "object_id": "UNII:ROV204583W", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:18296", - "object_id": "UNII:ODJ69JZG85", + "subject_id": "CHEMBL.TARGET:CHEMBL4495602", + "object_id": "UNII:2O4BE0K238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5546,28 +5831,28 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Drug", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "PUBCHEM.COMPOUND:8519", + "subject_id": "UMLS:C0015919", + "object_id": "CHEBI:147402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:18296", - "object_id": "UNII:7SI2UZG934", + "subject_id": "CHEBI:3815", + "object_id": "UNII:9X7O8V25IT", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5580,15 +5865,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1781", - "object_id": "PUBCHEM.COMPOUND:9941008", + "subject_id": "UMLS:C0015919", + "object_id": "MESH:D003031", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5597,15 +5882,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Device", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1756", - "object_id": "PUBCHEM.COMPOUND:131842141", + "subject_id": "UMLS:C0032616", + "object_id": "MESH:D010578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5614,15 +5899,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4296741", - "object_id": "PUBCHEM.COMPOUND:156323004", + "subject_id": "CHEBI:61452", + "object_id": "MESH:D010578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5631,15 +5916,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1756", - "object_id": "UNII:033072U4MZ", + "subject_id": "UMLS:C0015919", + "object_id": "MESH:D010578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5648,15 +5933,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4296221", - "object_id": "UNII:50FKX8CB2Y", + "subject_id": "UMLS:C0012933", + "object_id": "MESH:D010578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5665,11 +5950,11 @@ ] }, { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907610", - "object_id": "PUBCHEM.COMPOUND:11368", + "subject_id": "UBERON:0008826", + "object_id": "MESH:D000077215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5677,54 +5962,54 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Disease", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0541989", - "object_id": "MESH:D007773", + "subject_id": "DOID:11613", + "object_id": "MONDO:0000816", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "CHEBI:16412", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0596402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "UMLS:C0005456", + "subject_id": "CHV:0000010203", + "object_id": "MONDO:0005043", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5733,15 +6018,15 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "GO:0008022", - "object_id": "UMLS:C0033684", + "subject_id": "CHEBI:10545", + "object_id": "UBERON:0000119", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5751,14 +6036,14 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:Protein", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0626314", + "subject_id": "PR:000003980", + "object_id": "UBERON:0000479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5767,15 +6052,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Protein", + "subject_category": "biolink:Gene", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0083867", + "subject_id": "HGNC:12529", + "object_id": "UBERON:0000479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5784,45 +6069,45 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364165", - "object_id": "UNII:VRN8S9CW5V", + "subject_id": "CHEBI:100147", + "object_id": "UBERON:0000158", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Protein", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:10002", - "object_id": "MESH:D015850", + "subject_id": "DRUGBANK:DB11003", + "object_id": "UBERON:0000344", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "UMLS:C0052441", + "subject_id": "CHV:0000010203", + "object_id": "UBERON:0000948", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5835,15 +6120,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UNII:7V6HE3DM5A", - "object_id": "CHEBI:3815", + "subject_id": "NCIT:C158448", + "object_id": "UMLS:C3896693", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5852,15 +6137,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:75007581", - "object_id": "CHEBI:3815", + "subject_id": "CHEBI:16247", + "object_id": "CL:0000129", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5869,11 +6154,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Protein", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200380", - "object_id": "CHEMBL.TARGET:CHEMBL1872", + "subject_id": "UMLS:C0002085", + "object_id": "CL:0000047", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5881,20 +6166,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "PUBCHEM.COMPOUND:10340", + "subject_id": "ENSEMBL:ENSG00000232216", + "object_id": "CL:0000236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5903,15 +6188,15 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0039194", + "subject_id": "CHEBI:100", + "object_id": "CL:0000763", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5937,15 +6222,15 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:Drug", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0004561", + "subject_id": "CHV:0000010203", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -5954,11 +6239,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Gene", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0887899", + "subject_id": "HGNC:39001", + "object_id": "CL:0000198", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5971,11 +6256,11 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "ENSEMBL:ENSG00000232216", - "object_id": "UMLS:C0004561", + "subject_id": "CHEBI:137694", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -5991,8 +6276,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0039194", + "subject_id": "UMLS:C0001060", + "object_id": "CL:0000066", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6005,28 +6290,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Cell", - "predicate": "biolink:causes", - "subject_id": "CHEBI:10037", - "object_id": "UMLS:C0227525", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Gene", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "HGNC:39001", - "object_id": "UMLS:C0026473", + "subject_id": "CHEBI:114786", + "object_id": "CL:0000232", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6039,11 +6307,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:16247", - "object_id": "UMLS:C0024432", + "subject_id": "CHEBI:10037", + "object_id": "CL:0000182", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6056,11 +6324,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:Device", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0001280", + "subject_id": "UMLS:C0002671", + "object_id": "CL:0000232", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6073,15 +6341,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0004561", + "subject_id": "UMLS:C0078479", + "object_id": "CL:0000115", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6090,11 +6358,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:34674", - "object_id": "UMLS:C0004561", + "subject_id": "DRUGBANK:DB12768", + "object_id": "CL:0000235", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6107,11 +6375,11 @@ ] }, { - "subject_category": "biolink:Food", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "UMLS:C0014597", + "subject_id": "DRUGBANK:DB11003", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6124,11 +6392,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10207414", - "object_id": "UMLS:C0029418", + "subject_id": "UBERON:0008826", + "object_id": "CL:0000094", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6144,12 +6412,12 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0003315", + "subject_id": "CHV:0000021208", + "object_id": "CL:0000047", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6158,49 +6426,41 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Cell", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB11003", - "object_id": "UMLS:C0004561", + "subject_id": "GO:0000012", + "object_id": "GO:1903518", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Cell", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", - "object_id": "UMLS:C0005821", + "subject_id": "GO:0000012", + "object_id": "GO:1903517", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Cell", + "subject_category": "biolink:Protein", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "HP:0045047", - "object_id": "UMLS:C0004561", + "subject_id": "UMLS:C0000254", + "object_id": "MESH:D010861", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6209,11 +6469,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Cell", + "subject_category": "biolink:Gene", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "NCIT:C120860", - "object_id": "UMLS:C0879593", + "subject_id": "HGNC:12529", + "object_id": "MESH:D008862", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6226,11 +6486,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Cell", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002671", - "object_id": "UMLS:C0014792", + "subject_id": "CHEBI:10545", + "object_id": "MESH:D002736", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6243,11 +6503,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "CHEBI:10002", - "object_id": "UMLS:C0225957", + "subject_id": "CHV:0000021208", + "object_id": "MESH:D001369", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6260,11 +6520,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "UBERON:0002435", + "subject_id": "CHEBI:100147", + "object_id": "MESH:D002736", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6277,11 +6537,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Drug", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "MESH:C421864", - "object_id": "UBERON:0000178", + "subject_id": "RXCUI:1085956", + "object_id": "UMLS:C0225328", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6294,11 +6554,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C5211512", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0005972", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6312,10 +6572,10 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:AnatomicalEntity", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UBERON:0000044", + "subject_id": "CHV:0000010203", + "object_id": "MESH:D014158", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6328,15 +6588,15 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "CHEBI:16646", + "subject_id": "HGNC:10082", + "object_id": "UMLS:C1516334", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6345,11 +6605,11 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "CHEBI:16646", + "subject_id": "CHEBI:10545", + "object_id": "MESH:D011995", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6362,15 +6622,15 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Protein", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "CHEBI:16412", + "subject_id": "NCIT:C158448", + "object_id": "UMLS:C0020964", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6379,11 +6639,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Disease", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0596402", + "subject_id": "CHV:0000021208", + "object_id": "CHV:0000055769", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6396,11 +6656,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Disease", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "DOID:0081144", - "object_id": "MONDO:0005266", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0018270", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6430,11 +6690,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Gene", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "MONDO:0007835", + "subject_id": "HGNC:10082", + "object_id": "UMLS:C0012860", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6450,8 +6710,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "MONDO:0002459", + "subject_id": "PR:000016417", + "object_id": "MONDO:0006515", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6464,32 +6724,32 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Disease", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "UMLS:C0012860", + "subject_id": "CHEBI:10022", + "object_id": "UMLS:C0006660", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Disease", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MONDO:0001226", + "subject_id": "MESH:D022761", + "object_id": "UMLS:C0087111", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6498,15 +6758,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:Activity", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UBERON:0000119", + "subject_id": "UMLS:C0001288", + "object_id": "UMLS:C0033970", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6515,15 +6775,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100147", - "object_id": "UBERON:0000158", + "subject_id": "UMLS:C0871470", + "object_id": "CHEBI:50114", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6532,11 +6792,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UBERON:0000329", + "subject_id": "CHEBI:2930", + "object_id": "UMLS:C3846005", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6549,32 +6809,32 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UBERON:0000062", + "subject_id": "UMLS:C0015919", + "object_id": "CHEBI:16247", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UBERON:0000158", + "subject_id": "UMLS:C0015919", + "object_id": "CHEBI:28966", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6583,15 +6843,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "UMLS:C0227365", + "subject_id": "UMLS:C0449238", + "object_id": "RXCUI:1535257", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6600,11 +6860,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "UMLS:C0233929", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6617,11 +6877,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "HP:0001541", + "subject_id": "CHV:0000021208", + "object_id": "MESH:D006213", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6629,20 +6889,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Device", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0427184", + "subject_id": "UMLS:C0020266", + "object_id": "UMLS:C0304604", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6651,45 +6911,45 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Device", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "HP:0001945", + "subject_id": "UMLS:C0027673", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:Activity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB11003", - "object_id": "UBERON:0000344", + "subject_id": "UMLS:C0496675", + "object_id": "UMLS:C0003211", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "UBERON:0000479", + "subject_id": "UMLS:C0005839", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6702,11 +6962,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Activity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHV:0000041902", + "subject_id": "UMLS:C0237820", + "object_id": "RXCUI:219008", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6719,49 +6979,49 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0007582", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0001637", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "UMLS:C1516334", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0011065", + "subject_id": "CHEBI:18085", + "object_id": "UNII:7XZ4062R17", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6770,11 +7030,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "UMLS:C0006660", + "subject_id": "UMLS:C0015919", + "object_id": "CHEBI:16646", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6782,20 +7042,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0005972", + "subject_id": "CHEMBL.TARGET:CHEMBL2364181", + "object_id": "CHEMBL.COMPOUND:CHEMBL1201482", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6804,15 +7064,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Protein", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "UMLS:C0596290", + "subject_id": "CHEMBL.TARGET:CHEMBL2487", + "object_id": "CHEBI:1457", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6821,15 +7081,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0021826", + "subject_id": "NCBIGene:1191", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108309", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6838,15 +7098,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0020964", + "subject_id": "CHEMBL.TARGET:CHEMBL4296221", + "object_id": "CHEMBL.COMPOUND:CHEMBL4594492", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6855,15 +7115,15 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Publication", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006138", - "object_id": "UMLS:C0221102", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:15552", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6872,11 +7132,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Publication", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:132952", - "object_id": "UMLS:C0011431", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:16412", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6889,15 +7149,15 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Gene", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10198055", - "object_id": "UMLS:C0007587", + "subject_id": "HGNC:10082", + "object_id": "UMLS:C0005456", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6906,15 +7166,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "UMLS:C0220781", + "subject_id": "GO:0009008", + "object_id": "UMLS:C0006631", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6923,15 +7183,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Protein", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:100147", - "object_id": "UMLS:C0012222", + "subject_id": "NCIT:C158448", + "object_id": "UMLS:C0041538", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6940,11 +7200,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Procedure", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D022761", - "object_id": "UMLS:C0087111", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0010762", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -6958,14 +7218,14 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "HP:0000155", + "subject_id": "CHEMBL.COMPOUND:CHEMBL3545347", + "object_id": "UMLS:C5445121", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -6974,45 +7234,45 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Protein", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "HGNC:12224", - "object_id": "NCIT:C3824", + "subject_id": "NCIT:C158448", + "object_id": "UMLS:C0040648", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:C421864", - "object_id": "NCIT:C55998", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0026456", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "HP:0001944", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0005221", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7025,15 +7285,15 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0011324", - "object_id": "UBERON:0001831", + "subject_id": "UNII:7V6HE3DM5A", + "object_id": "CHEBI:3815", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7042,15 +7302,15 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Disease", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0221928", - "object_id": "MONDO:0002406", + "subject_id": "UNII:9X7O8V25IT", + "object_id": "CHEBI:3815", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7060,23 +7320,27 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:5553", - "object_id": "CHEBI:193860", + "subject_id": "NCBIGene:133", + "object_id": "CHEMBL.COMPOUND:CHEMBL4650434", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "stability" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1115729", - "object_id": "CHEBI:18421", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0041242", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7084,16 +7348,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:SmallMolecule", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0012872", - "object_id": "CHEBI:16991", + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0677040", + "object_id": "CHEBI:16646", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7106,15 +7370,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Drug", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "MESH:D000067128", + "subject_id": "CHV:0000044864", + "object_id": "CL:0000232", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7123,11 +7387,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Food", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "MESH:D008862", + "subject_id": "UMLS:C0012171", + "object_id": "CL:0000066", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7140,11 +7404,45 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "MESH:D002736", + "subject_id": "CHV:0000021208", + "object_id": "CL:0000010", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Cell", + "predicate": "biolink:causes", + "subject_id": "HP:0045047", + "object_id": "CL:0000084", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Cell", + "predicate": "biolink:causes", + "subject_id": "NCIT:C120860", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7158,10 +7456,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:CellularComponent", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100147", - "object_id": "MESH:D002736", + "subject_id": "CHEBI:10002", + "object_id": "UMLS:C0225957", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7174,11 +7472,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Gene", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MESH:D000067128", + "subject_id": "HGNC:12529", + "object_id": "UBERON:0002435", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7191,15 +7489,15 @@ ] }, { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907610", - "object_id": "PUBCHEM.COMPOUND:25137863", + "subject_id": "UMLS:C0000254", + "object_id": "UBERON:0001759", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7208,11 +7506,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Disease", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "UMLS:C1140999", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C5211512", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7225,15 +7523,15 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Procedure", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001288", - "object_id": "UMLS:C0033970", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0501385", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7242,11 +7540,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:ChemicalMixture", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0871470", - "object_id": "CHEBI:50114", + "subject_id": "CHEBI:25614", + "object_id": "CHEBI:24922", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7254,16 +7552,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "UMLS:C1335439", + "subject_id": "CHEBI:25614", + "object_id": "CHEBI:16261", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7276,11 +7574,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HGNC:10082", - "object_id": "UMLS:C0966511", + "subject_id": "CHV:0000010203", + "object_id": "HP:0001824", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7293,28 +7591,28 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "DOID:0081144", - "object_id": "UMLS:C0018284", + "subject_id": "CHEBI:10002", + "object_id": "UMLS:C0449820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "MESH:D015850", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0427184", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7327,11 +7625,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Protein", + "subject_category": "biolink:Gene", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HP:0000020", - "object_id": "UMLS:C0019018", + "subject_id": "HGNC:12224", + "object_id": "NCIT:C3824", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7344,11 +7642,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "UMLS:C0021665", + "subject_id": "CHEBI:132106", + "object_id": "UMLS:C1140999", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7361,11 +7659,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Protein", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001166", - "object_id": "UMLS:C0061928", + "subject_id": "DRUGBANK:DB10276", + "object_id": "MONDO:0007835", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7379,14 +7677,14 @@ }, { "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Protein", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200644", - "object_id": "PR:000003252", + "subject_id": "CHEBI:131391", + "object_id": "UBERON:0000955", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7396,44 +7694,44 @@ }, { "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Protein", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHV:0000045014", - "object_id": "UMLS:C0040690", + "subject_id": "CHV:0000021208", + "object_id": "UBERON:0000019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188776", - "object_id": "UMLS:C0379528", + "subject_id": "CHV:0000010203", + "object_id": "UBERON:0000178", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0085555", - "object_id": "UMLS:C0061928", + "subject_id": "CHV:0000021208", + "object_id": "UBERON:0000044", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7446,11 +7744,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005373", - "object_id": "UMLS:C0009325", + "subject_id": "MESH:D000077215", + "object_id": "UMLS:C0233929", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7463,11 +7761,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005778", - "object_id": "UMLS:C0003410", + "subject_id": "CHEBI:132952", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7480,11 +7778,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "UMLS:C0009325", + "subject_id": "CHEBI:10545", + "object_id": "HP:0001945", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7497,45 +7795,45 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0000049", - "object_id": "UMLS:C0013662", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0302600", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Protein", + "subject_category": "biolink:Protein", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "UMLS:C0026455", + "subject_id": "UMLS:C0000254", + "object_id": "UMLS:C0015214", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Protein", + "subject_category": "biolink:Food", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0000373", - "object_id": "UMLS:C0033684", + "subject_id": "UMLS:C0006138", + "object_id": "UMLS:C0221102", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7548,11 +7846,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "MESH:D007371", + "subject_id": "CHEBI:132952", + "object_id": "UMLS:C0011431", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7560,16 +7858,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100048905", - "object_id": "MESH:D007371", + "subject_id": "CHEBI:132106", + "object_id": "UMLS:C0017127", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7577,20 +7875,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Protein", + "subject_category": "biolink:Gene", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002671", - "object_id": "UMLS:C0242417", + "subject_id": "HGNC:10082", + "object_id": "UMLS:C0220781", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7599,11 +7897,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:453626", - "object_id": "CHEBI:16247", + "subject_id": "CHEBI:100147", + "object_id": "UMLS:C0012222", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7616,75 +7914,83 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "CHEBI:16247", + "subject_id": "CHEBI:131391", + "object_id": "UMLS:C0162703", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Drug", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0000012", - "object_id": "GO:1903518", + "subject_id": "CHV:0000010203", + "object_id": "HP:0001824", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Protein", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0000012", - "object_id": "GO:1903517", + "subject_id": "NCIT:C158448", + "object_id": "NCIT:C165206", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:Device", - "object_category": "biolink:Protein", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0011323", - "object_id": "UMLS:C0026682", + "subject_id": "UMLS:C0011324", + "object_id": "UBERON:0001831", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364185", - "object_id": "PUBCHEM.COMPOUND:44564107", + "subject_id": "UMLS:C0221928", + "object_id": "MONDO:0002406", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7693,15 +7999,28 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Gene", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4495602", - "object_id": "PUBCHEM.COMPOUND:121494122", + "subject_id": "NCBIGene:5553", + "object_id": "CHEBI:193860", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "degradation" + } + ] + }, + { + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1115729", + "object_id": "CHEBI:18421", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7710,15 +8029,15 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "PR:000004191", - "object_id": "PUBCHEM.COMPOUND:6477182", + "subject_id": "UMLS:C0012872", + "object_id": "CHEBI:16991", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7727,15 +8046,32 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:3815", - "object_id": "PUBCHEM.COMPOUND:75007581", + "subject_id": "GO:0009279", + "object_id": "CHEBI:71226", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "CHV:0000021208", + "object_id": "MONDO:0000816", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7744,11 +8080,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:Device", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "MONDO:0006485", + "subject_id": "UMLS:C0003072", + "object_id": "UMLS:C0036679", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7761,11 +8097,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0041904", - "object_id": "UMLS:C0162735", + "subject_id": "MESH:D000086942", + "object_id": "MONDO:0006485", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7778,11 +8114,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100187749", - "object_id": "MONDO:0005249", + "subject_id": "UMLS:C0041904", + "object_id": "UMLS:C0162735", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7795,11 +8131,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "HP:0000011", - "object_id": "MONDO:0001953", + "subject_id": "UMLS:C0004793", + "object_id": "MONDO:0004992", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7813,10 +8149,10 @@ }, { "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "HP:0000020", - "object_id": "HP:0002607", + "subject_id": "HP:0000011", + "object_id": "MONDO:0001953", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7846,15 +8182,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Disease", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "MONDO:0002363", + "subject_id": "MESH:C465023", + "object_id": "MESH:D010957", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -7883,8 +8219,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "UMLS:C0010423", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0007382", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7900,8 +8236,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0003261", + "subject_id": "UMLS:C0000254", + "object_id": "UMLS:C0016315", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7917,8 +8253,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188864", - "object_id": "UMLS:C0020291", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0002074", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7968,7 +8304,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "CHV:0000010203", "object_id": "UMLS:C0003261", "qualifiers": [ { @@ -7985,8 +8321,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "UMLS:C0007382", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0023693", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -7999,11 +8335,28 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007165", - "object_id": "PUBCHEM.COMPOUND:182599", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0017968", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0005778", + "object_id": "UMLS:C0003410", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8016,11 +8369,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Drug", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MONDO:0000988", - "object_id": "PUBCHEM.COMPOUND:9794626", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0001451", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8033,11 +8386,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "PUBCHEM.COMPOUND:123812", + "subject_id": "HGNC:10082", + "object_id": "UMLS:C0966511", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8050,11 +8403,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005839", - "object_id": "PUBCHEM.COMPOUND:175988", + "subject_id": "HP:0000020", + "object_id": "UMLS:C0019018", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8067,15 +8420,49 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "PUBCHEM.COMPOUND:15938", + "subject_id": "UMLS:C1167395", + "object_id": "UMLS:C0001060", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "GO:0005604", + "object_id": "UMLS:C0009325", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Disease", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "DOID:0111253", + "object_id": "UMLS:C0079284", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8085,31 +8472,31 @@ }, { "subject_category": "biolink:Behavior", - "object_category": "biolink:Drug", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009928", - "object_id": "UMLS:C0003921", + "subject_id": "UMLS:C0002957", + "object_id": "UMLS:C0026455", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1544", - "object_id": "PUBCHEM.COMPOUND:68579", + "subject_id": "UBERON:0000044", + "object_id": "UMLS:C0003595", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8118,15 +8505,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Activity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:C103123", - "object_id": "PUBCHEM.COMPOUND:68579", + "subject_id": "UMLS:C0085555", + "object_id": "UMLS:C0061928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8135,11 +8522,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", + "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "MESH:D007371", + "subject_id": "UBERON:0000004", + "object_id": "UMLS:C0001924", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8155,8 +8542,8 @@ "subject_category": "biolink:Cell", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "MESH:D007371", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0027754", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8169,15 +8556,15 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Drug", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1520698", - "object_id": "PUBCHEM.COMPOUND:71306834", + "subject_id": "UMLS:C0001166", + "object_id": "UMLS:C0061928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8186,11 +8573,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Drug", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "GO:0006401", - "object_id": "PUBCHEM.COMPOUND:71306834", + "subject_id": "CHEMBL.TARGET:CHEMBL1907589", + "object_id": "CHEMBL.COMPOUND:CHEMBL3707250", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8203,15 +8590,15 @@ ] }, { - "subject_category": "biolink:Pathway", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "GO:0000077", - "object_id": "CHEBI:9160", + "subject_id": "MESH:D000086942", + "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8220,11 +8607,28 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "PUBCHEM.COMPOUND:135499568", + "subject_id": "GO:0006401", + "object_id": "UNII:43K1W2T1M6", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Pathway", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "GO:0000077", + "object_id": "CHEBI:9160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8237,11 +8641,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0002481", - "object_id": "CHEBI:9168", + "subject_id": "UMLS:C0019868", + "object_id": "UMLS:C0908045", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8249,16 +8653,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907594", - "object_id": "CHEMBL.COMPOUND:CHEMBL3707249", + "subject_id": "UBERON:0002481", + "object_id": "CHEBI:9168", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8302,10 +8706,10 @@ }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Drug", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C3846005", - "object_id": "PUBCHEM.COMPOUND:6104", + "subject_id": "CHEBI:16247", + "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8318,11 +8722,11 @@ ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907594", - "object_id": "PUBCHEM.COMPOUND:441310", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0001347", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8330,7 +8734,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -8351,12 +8755,46 @@ } ] }, + { + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0000254", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Device", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0008576", + "object_id": "UMLS:C0029419", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:GenomicEntity", "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "UMLS:C0002085", - "object_id": "MESH:D015850", + "object_id": "UMLS:C0002248", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8368,6 +8806,57 @@ } ] }, + { + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0005373", + "object_id": "UMLS:C0009325", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "GO:0000049", + "object_id": "UMLS:C0013662", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "GO:0000373", + "object_id": "UMLS:C0033684", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:Protein", @@ -8386,11 +8875,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0016328", - "object_id": "PUBCHEM.COMPOUND:10207414", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0000254", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8398,16 +8887,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:MolecularMixture", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188695", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0005290", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8420,15 +8909,15 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Device", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "PUBCHEM.COMPOUND:130821", + "subject_id": "UMLS:C0002671", + "object_id": "UMLS:C0242417", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8440,8 +8929,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0025260", + "subject_id": "UMLS:C0000107", + "object_id": "UMLS:C0871786", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8522,19 +9011,19 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:GeneFamily", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0005482", + "subject_id": "CHEMBL.TARGET:CHEMBL2093863", + "object_id": "UNII:30LE65637T", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -8542,8 +9031,21 @@ "subject_category": "biolink:Gene", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2741", - "object_id": "PUBCHEM.COMPOUND:57402144", + "subject_id": "NCBIGene:29126", + "object_id": "CHEBI:4667", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:Procedure", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0001884", + "object_id": "UMLS:C0001645", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8551,33 +9053,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Event", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0040537", - "object_id": "CHEBI:4470", + "subject_id": "UMLS:C0003808", + "object_id": "UMLS:C2927841", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2366047", - "object_id": "CHEMBL.COMPOUND:CHEMBL2107359", + "subject_id": "NCIT:C28506", + "object_id": "UMLS:C1172734", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8585,37 +9087,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Cell", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UniProtKB:P06434", - "object_id": "UNII:QX5LK7YCHV", + "subject_id": "CL:0000010", + "object_id": "UMLS:C1518041", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1615322", - "object_id": "CHEMBL.COMPOUND:CHEMBL4297246", + "subject_id": "NCBIGene:6530", + "object_id": "CHEBI:51063", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8625,27 +9127,44 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2243", - "object_id": "RXCUI:1441688", + "subject_id": "NCBIGene:6530", + "object_id": "CHEBI:135925", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "expression" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:Protein", - "object_category": "biolink:Drug", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "PR:000007581", - "object_id": "UNII:7V6HE3DM5A", + "subject_id": "UniProtKB:P36544", + "object_id": "CHEBI:42944", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" + } + ] + }, + { + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:MolecularMixture", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1511997", + "object_id": "CHEBI:3385", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8654,15 +9173,15 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:Event", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "CHEBI:3815", - "object_id": "UNII:7V6HE3DM5A", + "subject_id": "UMLS:C0040537", + "object_id": "CHEBI:17688", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8671,32 +9190,32 @@ ] }, { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:Drug", + "subject_category": "biolink:Gene", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL3559684", - "object_id": "UNII:B6E7K36KT8", + "subject_id": "NCBIGene:7276", + "object_id": "UNII:0IEO0F56LV", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Protein", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:6530", - "object_id": "CHEBI:132233", + "subject_id": "PR:000016801", + "object_id": "UNII:0IEO0F56LV", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8705,15 +9224,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "PUBCHEM.COMPOUND:5831", + "subject_id": "UMLS:C0034917", + "object_id": "RXCUI:2639621", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -8722,19 +9241,19 @@ ] }, { - "subject_category": "biolink:Event", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0040537", - "object_id": "CHEBI:17688", + "subject_id": "DRUGBANK:DB10276", + "object_id": "RXCUI:493191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -8790,11 +9309,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Food", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "UBERON:0000119", + "subject_id": "UMLS:C0006494", + "object_id": "UBERON:0001155", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8807,11 +9326,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UBERON:0001155", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0005482", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8844,8 +9363,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100329167", - "object_id": "UBERON:0002114", + "subject_id": "UMLS:C0004793", + "object_id": "UBERON:0000479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8878,8 +9397,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100271694", - "object_id": "UMLS:C0237529", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0233820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8892,36 +9411,19 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PhenotypicFeature", - "predicate": "biolink:causes", - "subject_id": "CHEBI:132952", - "object_id": "UMLS:C0034917", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "CHEBI:10002", - "object_id": "UMLS:C0449820", + "subject_id": "CHEBI:137694", + "object_id": "UMLS:C0011109", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -8929,8 +9431,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "UMLS:C0560175", + "subject_id": "UMLS:C0000107", + "object_id": "UMLS:C1272641", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -8960,33 +9462,67 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UBERON:0000019", + "subject_id": "CHEBI:131371", + "object_id": "NCIT:C52648", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:Event", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006685", - "object_id": "UBERON:0001236", + "subject_id": "UMLS:C0040537", + "object_id": "CHEBI:4470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UniProtKB:P06434", + "object_id": "UNII:QX5LK7YCHV", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "expression" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "CHEMBL.TARGET:CHEMBL1615322", + "object_id": "CHEMBL.COMPOUND:CHEMBL4297246", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -8995,14 +9531,27 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1029", - "object_id": "UBERON:0001236", + "subject_id": "NCBIGene:2243", + "object_id": "DRUGBANK:DB11311", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" + } + ] + }, + { + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "CHEMBL.TARGET:CHEMBL2364159", + "object_id": "CHEBI:3160", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -9011,11 +9560,28 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:33699", - "object_id": "UBERON:0002481", + "subject_id": "CHEBI:3815", + "object_id": "UNII:7V6HE3DM5A", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:GeneFamily", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "CHEMBL.TARGET:CHEMBL2111480", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108557", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9028,15 +9594,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:15603", - "object_id": "UBERON:0006907", + "subject_id": "UMLS:C0449238", + "object_id": "UBERON:0000019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -9048,8 +9614,8 @@ "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "MESH:D007371", + "subject_id": "UMLS:C0026377", + "object_id": "UMLS:C0020960", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9082,8 +9648,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:C421864", - "object_id": "NCIT:C28506", + "subject_id": "NCIT:C158448", + "object_id": "UMLS:C0086982", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9133,8 +9699,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C1148564", + "subject_id": "CHV:0000031831", + "object_id": "UMLS:C1373120", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9150,7 +9716,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "CHV:0000010203", "object_id": "NCIT:C28506", "qualifiers": [ { @@ -9181,11 +9747,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "UMLS:C0013846", + "subject_id": "CHEBI:100", + "object_id": "UMLS:C0243102", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9198,11 +9764,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0243102", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C0023775", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9235,8 +9801,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:C421864", - "object_id": "UMLS:C0301641", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C0025246", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9269,8 +9835,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:104840", - "object_id": "UMLS:C0009528", + "subject_id": "CHEBI:114786", + "object_id": "UMLS:C1149836", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9321,7 +9887,7 @@ "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", "subject_id": "UMLS:C0002085", - "object_id": "CHV:0000005406", + "object_id": "CHV:0000000950", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9354,8 +9920,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188776", - "object_id": "UMLS:C0003618", + "subject_id": "UMLS:C0004793", + "object_id": "CHV:0000000950", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9372,7 +9938,7 @@ "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", "subject_id": "GO:0003677", - "object_id": "NCIT:C19077", + "object_id": "UMLS:C0007577", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9439,8 +10005,8 @@ "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:23899", - "object_id": "UMLS:C1153198", + "subject_id": "CHEBI:16261", + "object_id": "UMLS:C0011065", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9538,11 +10104,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0011065", + "subject_id": "CHEBI:132238", + "object_id": "UMLS:C0043240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9555,11 +10121,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Drug", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D005620", - "object_id": "UMLS:C0001811", + "subject_id": "UMLS:C0001640", + "object_id": "UMLS:C1153198", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9589,11 +10155,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "HP:0010546", + "subject_id": "HP:0000020", + "object_id": "HP:0002607", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9606,19 +10172,19 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "NCIT:C165206", + "subject_id": "CHV:0000021208", + "object_id": "HP:0000718", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -9643,8 +10209,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHV:0000005405", - "object_id": "NCIT:C19077", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0007586", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9678,7 +10244,7 @@ "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", "subject_id": "MESH:C465023", - "object_id": "MESH:D053583", + "object_id": "MESH:D015850", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9690,23 +10256,6 @@ } ] }, - { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "PUBCHEM.COMPOUND:168266382", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:AnatomicalEntity", @@ -9724,29 +10273,12 @@ } ] }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:AnatomicalEntity", - "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "UMLS:C1280541", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:116833", - "object_id": "UMLS:C0015350", + "subject_id": "UMLS:C0004793", + "object_id": "UBERON:0000178", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9776,11 +10308,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Drug", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0318759", - "object_id": "UMLS:C0003280", + "subject_id": "UMLS:C1115729", + "object_id": "UMLS:C0002716", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9793,11 +10325,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1115729", - "object_id": "UMLS:C0002716", + "subject_id": "HP:0001902", + "object_id": "UMLS:C0005286", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9810,11 +10342,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Food", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "HP:0001902", - "object_id": "UMLS:C0005286", + "subject_id": "UMLS:C0006494", + "object_id": "UMLS:C0033684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9831,7 +10363,7 @@ "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0033684", + "object_id": "UMLS:C0007578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9839,16 +10371,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Food", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0007578", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9864,8 +10396,8 @@ "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB15864", - "object_id": "UMLS:C1136102", + "subject_id": "DRUGBANK:DB10276", + "object_id": "UMLS:C0729663", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9949,8 +10481,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "UMLS:C0524637", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0003808", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -9963,15 +10495,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Behavior", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0004268", + "subject_id": "CHEBI:3160", + "object_id": "CHEMBL.TARGET:CHEMBL2364159", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -9980,28 +10512,28 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:18085", - "object_id": "UNII:7XZ4062R17", + "subject_id": "HP:0000752", + "object_id": "UMLS:C0000392", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188776", - "object_id": "NCIT:C42083", + "subject_id": "DRUGBANK:DB15794", + "object_id": "UMLS:C0243102", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10014,33 +10546,16 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Protein", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "HP:0000092", - "object_id": "UNII:D7RD81HE4W", + "subject_id": "UMLS:C0001811", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB15794", - "object_id": "UMLS:C0243102", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -10051,8 +10566,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188784", - "object_id": "UMLS:C0597295", + "subject_id": "UMLS:C0004793", + "object_id": "GO:0003677", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10085,8 +10600,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "UMLS:C0018270", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C1153198", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10098,6 +10613,23 @@ } ] }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:GeneFamily", + "predicate": "biolink:causes", + "subject_id": "CHEBI:10127", + "object_id": "CHEMBL.TARGET:CHEMBL2331043", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:GenomicEntity", "object_category": "biolink:MolecularActivity", @@ -10119,8 +10651,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "UMLS:C0017715", + "subject_id": "CHV:0000021208", + "object_id": "GO:0003677", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10133,11 +10665,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188776", - "object_id": "UMLS:C1156201", + "subject_id": "CHV:0000021208", + "object_id": "NCIT:C28506", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10153,8 +10685,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:104871", - "object_id": "UMLS:C0521119", + "subject_id": "CHEBI:131371", + "object_id": "UMLS:C0175996", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10218,11 +10750,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Food", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHV:0000005405", - "object_id": "UMLS:C0037080", + "subject_id": "UMLS:C0012155", + "object_id": "HP:0004324", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10235,28 +10767,28 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "GO:0001510", - "object_id": "UMLS:C0013081", + "subject_id": "UBERON:0001048", + "object_id": "UMLS:C0029960", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0003677", - "object_id": "UMLS:C0013081", + "subject_id": "UMLS:C0178587", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10269,79 +10801,71 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Device", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599946", - "object_id": "UMLS:C0013081", + "subject_id": "UMLS:C0003072", + "object_id": "NCIT:C35041", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0080129", - "object_id": "UMLS:C0013081", + "subject_id": "DRUGBANK:DB10276", + "object_id": "UMLS:C1306577", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "GO:0003677", + "subject_id": "MESH:D042003", + "object_id": "UMLS:C3271005", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:C465023", - "object_id": "UMLS:C1150132", + "subject_id": "MESH:D000073399", + "object_id": "UMLS:C3547208", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { "subject_category": "biolink:Device", - "object_category": "biolink:MolecularActivity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0035191", - "object_id": "UMLS:C0243102", + "subject_id": "UMLS:C0014631", + "object_id": "UMLS:C1304649", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10354,49 +10878,49 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Protein", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0023775", + "subject_id": "NCIT:C158448", + "object_id": "NCBIGene:103", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "HP:0001518", + "subject_id": "GO:0005604", + "object_id": "NCBIGene:22795", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0003677", - "object_id": "UMLS:C1160466", + "subject_id": "CHEBI:10545", + "object_id": "NCBIGene:140821", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -10405,15 +10929,15 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Cell", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0178587", - "object_id": "UMLS:C0543421", + "subject_id": "CL:0000010", + "object_id": "NCBIGene:1030", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -10425,8 +10949,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "NCBIGene:2944", + "subject_id": "NCIT:C158448", + "object_id": "NCBIGene:3439", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10434,20 +10958,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "NCBIGene:22795", + "subject_id": "GO:0009008", + "object_id": "NCBIGene:3398", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -10493,8 +11017,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "NCBIGene:2551", + "subject_id": "CHV:0000000950", + "object_id": "NCBIGene:10286", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10544,8 +11068,8 @@ "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "NCBIGene:23038", + "subject_id": "UBERON:0000004", + "object_id": "NCBIGene:102723407", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10557,74 +11081,6 @@ } ] }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "NCBIGene:1806", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Cell", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "NCBIGene:10490", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "MESH:C000726347", - "object_id": "NCBIGene:340061", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "GO:0009008", - "object_id": "NCBIGene:3398", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", @@ -10680,8 +11136,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "UMLS:C1332838", + "subject_id": "CHV:0000021208", + "object_id": "HGNC:5816", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10779,11 +11235,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "HGNC:1798", + "subject_id": "CHEBI:114786", + "object_id": "NCBIGene:4589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10795,6 +11251,23 @@ } ] }, + { + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Gene", + "predicate": "biolink:causes", + "subject_id": "CHEBI:114786", + "object_id": "NCBIGene:11034", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:GenomicEntity", "object_category": "biolink:Gene", @@ -10865,44 +11338,44 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:Disease", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "MONDO:0005594", + "subject_id": "CHV:0000043683", + "object_id": "UMLS:C0043012", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "UMLS:C0036679", + "subject_id": "CHEBI:16684", + "object_id": "MONDO:0000837", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Drug", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "CHEBI:18154", - "object_id": "UMLS:C0457949", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0376618", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10915,11 +11388,11 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "MONDO:0005578", + "subject_id": "CHEBI:134126", + "object_id": "MONDO:0002050", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -10948,12 +11421,29 @@ } ] }, + { + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0004793", + "object_id": "HP:0006699", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:GenomicEntity", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", "subject_id": "UMLS:C0002085", - "object_id": "HP:0002172", + "object_id": "HP:0003493", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11037,8 +11527,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "NCBIGene:116833", - "object_id": "UMLS:C0225336", + "subject_id": "UMLS:C0004793", + "object_id": "CL:0000023", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11051,15 +11541,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Cell", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188776", - "object_id": "UMLS:C1515077", + "subject_id": "UMLS:C5202641", + "object_id": "UMLS:C0004268", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -11068,11 +11558,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Food", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C5202641", - "object_id": "UMLS:C0004268", + "subject_id": "UMLS:C0012171", + "object_id": "UMLS:C0023185", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11102,11 +11592,11 @@ ] }, { - "subject_category": "biolink:Food", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "UMLS:C0023185", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0004268", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11119,11 +11609,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Behavior", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", - "object_id": "UMLS:C0011109", + "subject_id": "MESH:D000086942", + "object_id": "UBERON:0000158", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11136,11 +11626,24 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Behavior", + "subject_category": "biolink:Pathway", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0004268", + "subject_id": "GO:0000075", + "object_id": "GO:1901978", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:Device", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1328924", + "object_id": "UMLS:C0004434", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11153,11 +11656,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UBERON:0000158", + "subject_id": "UMLS:C1157038", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11170,11 +11673,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Protein", + "subject_category": "biolink:Cell", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C1328924", - "object_id": "UMLS:C0004434", + "subject_id": "CL:0000066", + "object_id": "UMLS:C0879438", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11187,15 +11690,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "UMLS:C0696946", + "subject_id": "MESH:D020077", + "object_id": "CL:0000236", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -11207,8 +11710,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100329167", - "object_id": "MESH:D008870", + "subject_id": "UMLS:C0004793", + "object_id": "MESH:D000067128", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11343,8 +11846,8 @@ "subject_category": "biolink:Disease", "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "MONDO:0001534", - "object_id": "UMLS:C0033086", + "subject_id": "MONDO:0000837", + "object_id": "UMLS:C0699612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11357,11 +11860,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Device", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10207414", - "object_id": "UMLS:C0115137", + "subject_id": "UMLS:C0017654", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11374,15 +11877,15 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "PUBCHEM.COMPOUND:124201532", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C0030956", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -11391,15 +11894,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "PUBCHEM.COMPOUND:24501", + "subject_id": "CHV:0000005405", + "object_id": "UMLS:C0037080", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -11408,28 +11911,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017654", - "object_id": "MESH:C495669", + "subject_id": "GO:0001510", + "object_id": "UMLS:C0013081", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:Protein", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "UMLS:C0030956", + "subject_id": "GO:0003677", + "object_id": "UMLS:C0013081", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11442,11 +11945,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Activity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012155", - "object_id": "HP:0004324", + "subject_id": "UMLS:C0599946", + "object_id": "UMLS:C0013081", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11459,62 +11962,62 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UBERON:0001048", - "object_id": "UMLS:C0029960", + "subject_id": "UMLS:C0080129", + "object_id": "UMLS:C0013081", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Disease", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0350056", - "object_id": "UMLS:C0543419", + "subject_id": "UMLS:C0002085", + "object_id": "GO:0003677", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Disease", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB15864", - "object_id": "MONDO:0005594", + "subject_id": "MESH:C465023", + "object_id": "UMLS:C1150132", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Device", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "MESH:D003600", + "subject_id": "UMLS:C0035191", + "object_id": "UMLS:C0243102", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11527,37 +12030,45 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Food", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:D017578", - "object_id": "UMLS:C1155011", + "subject_id": "UMLS:C0006494", + "object_id": "UMLS:C0023775", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:D017578", - "object_id": "UMLS:C1155010", + "subject_id": "UMLS:C0449238", + "object_id": "HP:0001518", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0014631", - "object_id": "UMLS:C1304649", + "subject_id": "GO:0003677", + "object_id": "UMLS:C1160466", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11587,11 +12098,11 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "NCBIGene:4956", - "object_id": "UMLS:C0079686", + "subject_id": "UMLS:C1511997", + "object_id": "UMLS:C0003601", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11604,11 +12115,11 @@ ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:Gene", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "MESH:D013482", + "subject_id": "NCBIGene:4956", + "object_id": "UMLS:C0079686", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11621,11 +12132,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Procedure", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "UMLS:C0003601", + "subject_id": "UMLS:C0001884", + "object_id": "UMLS:C0020855", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11756,6 +12267,57 @@ } ] }, + { + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Cell", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1515464", + "object_id": "UMLS:C0007600", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Cell", + "object_category": "biolink:Cell", + "predicate": "biolink:causes", + "subject_id": "CL:0000081", + "object_id": "UMLS:C0879438", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:PhysiologicalProcess", + "predicate": "biolink:causes", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0005823", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:GrossAnatomicalStructure", @@ -11791,10 +12353,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "MESH:C546842", + "subject_id": "CHEBI:31690", "object_id": "UBERON:0002481", "qualifiers": [ { @@ -11803,15 +12365,15 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033684", + "subject_id": "CHEBI:33699", "object_id": "UBERON:0002481", "qualifiers": [ { @@ -11820,16 +12382,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0085268", - "object_id": "UBERON:0002481", + "subject_id": "CHEBI:15603", + "object_id": "UBERON:0006907", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11837,15 +12399,15 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "NCBIGene:5290", + "subject_id": "MESH:C546842", "object_id": "UBERON:0002481", "qualifiers": [ { @@ -11859,27 +12421,27 @@ ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:Protein", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0039194", + "subject_id": "UMLS:C0033684", "object_id": "UBERON:0002481", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:9168", + "subject_id": "UMLS:C0085268", "object_id": "UBERON:0002481", "qualifiers": [ { @@ -11893,45 +12455,28 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Disease", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "MONDO:0000088", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364159", - "object_id": "CHEMBL.COMPOUND:CHEMBL4594539", + "subject_id": "NCBIGene:5290", + "object_id": "UBERON:0002481", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Food", + "subject_category": "biolink:Cell", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHV:0000005405", - "object_id": "UMLS:C0376596", + "subject_id": "CL:0000084", + "object_id": "UBERON:0002481", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11945,10 +12490,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Food", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:10106", - "object_id": "UMLS:C0353942", + "subject_id": "CHEBI:9168", + "object_id": "UBERON:0002481", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11961,11 +12506,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373045", - "object_id": "UBERON:0003126", + "subject_id": "UMLS:C0005938", + "object_id": "MONDO:0000088", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11978,11 +12523,11 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C1137094", - "object_id": "UMLS:C0006147", + "subject_id": "CHEBI:10106", + "object_id": "UMLS:C0353942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -11990,20 +12535,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Protein", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UBERON:0001236", - "object_id": "UMLS:C0006685", + "subject_id": "CHV:0000005405", + "object_id": "UMLS:C0376596", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12012,28 +12557,28 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004924", - "object_id": "PUBCHEM.COMPOUND:68245", + "subject_id": "UMLS:C1373045", + "object_id": "UBERON:0003126", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Behavior", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "PUBCHEM.COMPOUND:15666", + "subject_id": "UMLS:C1137094", + "object_id": "UMLS:C0006147", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12114,11 +12659,11 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "MESH:D003031", + "subject_id": "CHEBI:25614", + "object_id": "UMLS:C0009630", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12135,7 +12680,7 @@ "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "UMLS:C0020969", - "object_id": "MESH:D007371", + "object_id": "UMLS:C0003440", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12148,15 +12693,15 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:Protein", + "subject_category": "biolink:Device", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "UMLS:C0009630", + "subject_id": "UMLS:C0004924", + "object_id": "UMLS:C0587342", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12165,19 +12710,19 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004924", - "object_id": "UMLS:C0587342", + "subject_id": "CHEBI:16684", + "object_id": "UMLS:C0009928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -12199,11 +12744,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:23686432", - "object_id": "UMLS:C0235146", + "subject_id": "CHEBI:31228", + "object_id": "UMLS:C0009928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12216,11 +12761,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Drug", "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "MESH:D062789", - "object_id": "UMLS:C0543414", + "subject_id": "UMLS:C0003921", + "object_id": "UMLS:C0009928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12250,11 +12795,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Disease", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "PUBCHEM.COMPOUND:131634907", + "subject_id": "MONDO:0020724", + "object_id": "UMLS:C0145779", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12267,28 +12812,28 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "PUBCHEM.COMPOUND:131634907", + "subject_id": "UMLS:C0949469", + "object_id": "UMLS:C0105729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Publication", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "PUBCHEM.COMPOUND:122164822", + "subject_id": "UMLS:C0599740", + "object_id": "UMLS:C0002272", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12301,11 +12846,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:Drug", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:10127", - "object_id": "CHEMBL.TARGET:CHEMBL2331043", + "subject_id": "CHEMBL.COMPOUND:CHEMBL3545347", + "object_id": "NCBIGene:4142", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12313,16 +12858,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Drug", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009528", - "object_id": "UMLS:C0023823", + "subject_id": "CHEMBL.COMPOUND:CHEMBL2368925", + "object_id": "NCBIGene:3359", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12330,20 +12875,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0000854", + "object_id": "NCBIGene:26155", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12352,15 +12897,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:100", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0005839", + "object_id": "NCBIGene:10800", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12369,11 +12914,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0002085", + "object_id": "NCBIGene:100124700", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12386,11 +12931,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Disease", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:10023", - "object_id": "UMLS:C0010762", + "subject_id": "MONDO:0020724", + "object_id": "NCBIGene:3725", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12398,20 +12943,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MONDO:0000490", - "object_id": "UMLS:C0012924", + "subject_id": "CHEBI:10033", + "object_id": "NCBIGene:1544", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12420,15 +12965,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "HGNC:39005", - "object_id": "UMLS:C1099354", + "subject_id": "UMLS:C0002085", + "object_id": "MESH:D002875", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12437,11 +12982,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Activity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C1099354", + "subject_id": "UMLS:C0001288", + "object_id": "UMLS:C0150141", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12454,15 +12999,15 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "HP:0003651", - "object_id": "UMLS:C0023823", + "subject_id": "UBERON:0008826", + "object_id": "MONDO:0005002", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12471,28 +13016,28 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0000702", + "subject_id": "NCIT:C28506", + "object_id": "UMLS:C0079291", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HGNC:2708", - "object_id": "UMLS:C1101610", + "subject_id": "HP:0004324", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12505,11 +13050,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:C421864", - "object_id": "UMLS:C1099354", + "subject_id": "CHV:0000021208", + "object_id": "HP:0001824", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12522,28 +13067,28 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C1099354", + "subject_id": "CHEBI:60160", + "object_id": "UBERON:0000043", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10220267", - "object_id": "UMLS:C1099354", + "subject_id": "MESH:D000086942", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12551,20 +13096,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "HP:0000718", - "object_id": "UMLS:C0012929", + "subject_id": "CHEBI:32955", + "object_id": "UMLS:C1515498", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12573,28 +13118,28 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "CHV:0000004522", - "object_id": "UMLS:C0242962", + "subject_id": "CHEBI:22689", + "object_id": "MESH:D000088502", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "UMLS:C0006556", + "subject_id": "UMLS:C0078479", + "object_id": "UMLS:C0596901", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12607,11 +13152,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003261", - "object_id": "UMLS:C0001060", + "subject_id": "HP:0000718", + "object_id": "UMLS:C1520381", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12624,11 +13169,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "GO:0003676", - "object_id": "UMLS:C1099354", + "subject_id": "DRUGBANK:DB12768", + "object_id": "UMLS:C1819995", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12641,11 +13186,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UBERON:0000004", - "object_id": "UMLS:C1956352", + "subject_id": "MESH:D000071439", + "object_id": "MESH:D016615", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12658,11 +13203,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", - "object_id": "UMLS:C0001060", + "subject_id": "UMLS:C0428696", + "object_id": "UMLS:C0938430", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12670,16 +13215,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0016323", + "object_id": "UMLS:C0008071", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12692,15 +13237,15 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0687133", - "object_id": "UMLS:C0010762", + "subject_id": "GO:0000266", + "object_id": "GO:0005739", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12709,15 +13254,15 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "GO:0000724", - "object_id": "UMLS:C0028948", + "subject_id": "MESH:D008925", + "object_id": "UMLS:C0242565", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12726,28 +13271,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005839", - "object_id": "UMLS:C1099354", + "subject_id": "MESH:D020077", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Pathway", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D000067128", - "object_id": "UMLS:C0012929", + "subject_id": "GO:0000077", + "object_id": "UMLS:C0008546", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12760,15 +13305,15 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Gene", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", - "object_id": "UMLS:C0012476", + "subject_id": "HGNC:5756", + "object_id": "UMLS:C0534010", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12777,45 +13322,45 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Protein", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "UMLS:C0035702", + "subject_id": "UMLS:C0001346", + "object_id": "UMLS:C0115137", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "MESH:D000086663", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0001876", + "object_id": "UMLS:C0042838", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0012868", + "subject_id": "HP:0003651", + "object_id": "NCBIGene:100506897", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12828,11 +13373,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10915", - "object_id": "UMLS:C0242958", + "subject_id": "UMLS:C0003920", + "object_id": "NCBIGene:6523", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12845,11 +13390,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373040", - "object_id": "UMLS:C0010762", + "subject_id": "MESH:D059365", + "object_id": "NCBIGene:1278", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12857,37 +13402,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000702", - "object_id": "UMLS:C0012929", + "subject_id": "UMLS:C0002957", + "object_id": "NCBIGene:23013", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C1101610", + "subject_id": "UMLS:C0001884", + "object_id": "NCBIGene:196", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -12896,11 +13441,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "NCBIGene:266790", - "object_id": "UMLS:C0242958", + "subject_id": "DRUGBANK:DB10276", + "object_id": "NCBIGene:55364", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12913,11 +13458,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Activity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "UMLS:C0010762", + "subject_id": "UMLS:C0015259", + "object_id": "NCBIGene:7076", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12925,16 +13470,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "UMLS:C0023823", + "subject_id": "MESH:D000086942", + "object_id": "UMLS:C0020960", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12942,50 +13487,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Disease", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "UMLS:C0010762", + "subject_id": "MONDO:0000248", + "object_id": "UMLS:C0011313", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100528023", - "object_id": "UMLS:C0073434", + "subject_id": "UMLS:C0006494", + "object_id": "UMLS:C0013764", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Gene", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "HP:0001945", - "object_id": "UMLS:C0001060", + "subject_id": "NCBIGene:10730", + "object_id": "UMLS:C0027793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -12998,11 +13543,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:Publication", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "NCBIGene:100124700", + "subject_id": "UMLS:C0599740", + "object_id": "CHEBI:17087", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13015,15 +13560,15 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Gene", + "subject_category": "biolink:Activity", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000854", - "object_id": "NCBIGene:26155", + "subject_id": "UMLS:C0015259", + "object_id": "CHEBI:50114", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13032,11 +13577,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005839", - "object_id": "NCBIGene:10800", + "subject_id": "NCBIGene:11", + "object_id": "MESH:D016824", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13049,11 +13594,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Gene", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MONDO:0020724", - "object_id": "NCBIGene:3725", + "subject_id": "UMLS:C0031911", + "object_id": "CHEBI:17401", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13061,16 +13606,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Gene", + "subject_category": "biolink:Gene", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "NCBIGene:1268", + "subject_id": "NCBIGene:2043", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13083,11 +13628,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Gene", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "NCBIGene:10908", + "subject_id": "HP:0030365", + "object_id": "UMLS:C0022400", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13100,15 +13645,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "NCBIGene:1544", + "subject_id": "CHEBI:38757", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13117,11 +13662,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Gene", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200396", - "object_id": "NCBIGene:6329", + "subject_id": "CHEBI:125472", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13129,16 +13674,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Gene", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200644", - "object_id": "NCBIGene:462", + "subject_id": "CHEBI:26710", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13151,15 +13696,15 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Protein", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "MESH:D002875", + "subject_id": "UMLS:C0021665", + "object_id": "UMLS:C0015259", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13168,11 +13713,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Activity", + "subject_category": "biolink:Device", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001288", - "object_id": "UMLS:C0150141", + "subject_id": "UMLS:C0003072", + "object_id": "UMLS:C0035191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13185,28 +13730,28 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Disease", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10008573", - "object_id": "MONDO:0003019", + "subject_id": "CHV:0000055769", + "object_id": "UMLS:C0699612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0025248", + "subject_id": "CHEBI:133326", + "object_id": "UMLS:C0038888", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13214,16 +13759,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Protein", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", - "object_id": "UMLS:C1153198", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C0071500", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13236,11 +13781,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "MONDO:0000248", - "object_id": "UMLS:C0011313", + "subject_id": "UBERON:0000019", + "object_id": "UMLS:C0033086", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13253,28 +13798,28 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Device", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0013764", + "subject_id": "UMLS:C0003072", + "object_id": "UMLS:C0017120", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Protein", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0031715", + "subject_id": "UMLS:C0000254", + "object_id": "MONDO:0002050", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13282,67 +13827,67 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MONDO:0005002", + "subject_id": "DRUGBANK:DB15864", + "object_id": "MONDO:0006496", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Cell", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C1515464", - "object_id": "UMLS:C0007600", + "subject_id": "UMLS:C0001413", + "object_id": "MONDO:0002050", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Cell", + "subject_category": "biolink:Protein", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004561", - "object_id": "UMLS:C0879438", + "subject_id": "UMLS:C0002716", + "object_id": "UMLS:C0353942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:CellularComponent", + "object_category": "biolink:Food", "predicate": "biolink:causes", "subject_id": "HP:0000718", - "object_id": "UMLS:C1520381", + "object_id": "UMLS:C0012171", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13355,15 +13900,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "CHEBI:32955", - "object_id": "UMLS:C1515498", + "subject_id": "UBERON:0000158", + "object_id": "UMLS:C0597423", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13372,11 +13917,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10730", - "object_id": "UMLS:C0027793", + "subject_id": "CHEBI:16038", + "object_id": "UMLS:C0597423", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13384,37 +13929,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:104840", - "object_id": "UMLS:C0232804", + "subject_id": "CHEBI:100147", + "object_id": "GO:0006260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015259", - "object_id": "CHEBI:50114", + "subject_id": "CHEBI:15986", + "object_id": "GO:0006401", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13423,28 +13968,28 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0031911", - "object_id": "CHEBI:18154", + "subject_id": "UMLS:C0002085", + "object_id": "GO:0006281", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:11", - "object_id": "MESH:D016824", + "subject_id": "HGNC:10084", + "object_id": "GO:0006338", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13457,15 +14002,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Activity", + "subject_category": "biolink:Protein", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2043", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0000254", + "object_id": "GO:0010467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13474,15 +14019,15 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Activity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "HP:0030365", - "object_id": "UMLS:C0022400", + "subject_id": "MESH:D011995", + "object_id": "GO:0006281", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13491,15 +14036,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Activity", + "subject_category": "biolink:Drug", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:38757", - "object_id": "UMLS:C0237820", + "subject_id": "RXCUI:198959", + "object_id": "GO:0034337", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13508,15 +14053,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Activity", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEBI:125472", - "object_id": "UMLS:C0237820", + "subject_id": "CHV:0000021208", + "object_id": "GO:0006260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13525,15 +14070,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Activity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:91820602", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0004793", + "object_id": "GO:0006260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13542,15 +14087,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Cell", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "UMLS:C0024432", + "subject_id": "CHEBI:17439", + "object_id": "GO:0030488", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13559,11 +14104,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Cell", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D020077", - "object_id": "UMLS:C0004561", + "subject_id": "UMLS:C0013081", + "object_id": "GO:0001510", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13576,15 +14121,15 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Device", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "UMLS:C0035191", + "subject_id": "DRUGBANK:DB15794", + "object_id": "GO:0006260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13593,28 +14138,24 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Device", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", - "object_id": "UMLS:C0032616", + "subject_id": "MESH:D011995", + "object_id": "GO:0045910", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Device", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHV:0000011375", - "object_id": "UMLS:C0242902", + "subject_id": "GO:0006260", + "object_id": "GO:0006334", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13627,15 +14168,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Device", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0035191", + "subject_id": "UMLS:C0003261", + "object_id": "GO:0006260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13644,15 +14185,15 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Device", + "subject_category": "biolink:Gene", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UBERON:0000019", - "object_id": "UMLS:C0033086", + "subject_id": "NCBIGene:1001", + "object_id": "GO:0043568", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13661,49 +14202,45 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "UMLS:C0017120", + "subject_id": "MESH:D000073399", + "object_id": "GO:1901537", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Disease", + "subject_category": "biolink:Cell", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "MONDO:0002050", + "subject_id": "CL:0000010", + "object_id": "NCBIGene:3497", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Food", + "subject_category": "biolink:Device", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "HP:0000718", - "object_id": "UMLS:C0012171", + "subject_id": "UMLS:C0003072", + "object_id": "NCBIGene:4589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13712,11 +14249,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Food", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "NCIT:C77665", - "object_id": "UMLS:C0037732", + "subject_id": "UMLS:C0696628", + "object_id": "UBERON:0010163", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13729,11 +14266,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Food", + "subject_category": "biolink:Cell", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "UMLS:C0037732", + "subject_id": "UMLS:C0221279", + "object_id": "UMLS:C0604331", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13746,15 +14283,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Food", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "UMLS:C0078479", + "subject_id": "CHEBI:17843", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13763,11 +14300,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:100147", - "object_id": "GO:0006260", + "subject_id": "UBERON:0000062", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13780,15 +14317,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Disease", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "CHEBI:15986", - "object_id": "GO:0006401", + "subject_id": "UMLS:C0152152", + "object_id": "UMLS:C0015915", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13797,11 +14334,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "GO:0006281", + "subject_id": "UBERON:0008826", + "object_id": "UBERON:0000019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13814,28 +14351,28 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HGNC:10084", - "object_id": "GO:0006338", + "subject_id": "UBERON:0008826", + "object_id": "HP:0001945", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "GO:0006260", + "subject_id": "CHEBI:25614", + "object_id": "NCIT:C35979", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13848,11 +14385,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "NCIT:C19077", - "object_id": "GO:0006260", + "subject_id": "UBERON:0008826", + "object_id": "MESH:D005407", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13865,11 +14402,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "GO:0006308", + "subject_id": "MESH:D000086942", + "object_id": "UMLS:C0003261", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -13882,49 +14419,49 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006556", - "object_id": "GO:0001171", + "subject_id": "CHEBI:17439", + "object_id": "UMLS:C0350056", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188830", - "object_id": "GO:0006260", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C2348951", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0013081", - "object_id": "GO:0001510", + "subject_id": "UMLS:C0004793", + "object_id": "NCBIGene:10670", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13933,15 +14470,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Procedure", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB15794", - "object_id": "GO:0006260", + "subject_id": "UMLS:C0523584", + "object_id": "CHEBI:33375", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -13950,54 +14487,45 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:104840", - "object_id": "GO:0006312", + "subject_id": "DRUGBANK:DB11003", + "object_id": "UMLS:C0020964", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCIT:C20153", - "object_id": "GO:0060148", + "subject_id": "UMLS:C0449238", + "object_id": "GO:0010467", "qualifiers": [ { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "NCIT:C30023", - "object_id": "GO:0032057", - "qualifiers": [ + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Device", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0006260", - "object_id": "GO:0006334", + "subject_id": "UMLS:C0032616", + "object_id": "GO:0010467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14010,11 +14538,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", + "subject_category": "biolink:Food", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003261", - "object_id": "GO:0006260", + "subject_id": "UMLS:C0012171", + "object_id": "GO:0010467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14027,15 +14555,15 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1001", - "object_id": "GO:0043568", + "subject_id": "UBERON:0008826", + "object_id": "GO:0010467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14044,11 +14572,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Protein", + "subject_category": "biolink:Protein", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:C465023", - "object_id": "MESH:D015850", + "subject_id": "UniProtKB:P68431", + "object_id": "GO:0010467", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14056,16 +14584,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "UMLS:C1819995", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0008813", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14078,11 +14606,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "GO:0000012", - "object_id": "UMLS:C0007586", + "subject_id": "CHEBI:140618", + "object_id": "UMLS:C0017191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14095,11 +14623,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Protein", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "MESH:D020077", - "object_id": "MESH:D005075", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C0040669", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14112,28 +14640,28 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0443611", - "object_id": "UMLS:C0042784", + "subject_id": "CHEBI:10033", + "object_id": "UMLS:C0489482", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "UBERON:0010163", + "subject_id": "HGNC:39025", + "object_id": "UMLS:C0040669", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14146,28 +14674,28 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0221279", - "object_id": "UMLS:C0604331", + "subject_id": "CHEBI:10093", + "object_id": "UMLS:C0017191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "NCIT:C35041", + "subject_id": "CHEBI:10043", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14180,15 +14708,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "CHEMBL.COMPOUND:CHEMBL1201648", + "subject_id": "CHEBI:16038", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14197,11 +14725,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "PR:000016417", + "object_id": "UMLS:C0006556", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14214,11 +14742,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "PUBCHEM.COMPOUND:131842327", + "subject_id": "NCIT:C28506", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14226,16 +14754,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Cell", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0812399", - "object_id": "PUBCHEM.COMPOUND:443495", + "subject_id": "CL:0000010", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14243,16 +14771,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Drug", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "PUBCHEM.COMPOUND:168266256", + "subject_id": "MESH:D006213", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14260,16 +14788,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0034917", - "object_id": "PUBCHEM.COMPOUND:15938", + "subject_id": "HGNC:39005", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14282,15 +14810,15 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UBERON:0000062", - "object_id": "UMLS:C0034917", + "subject_id": "GO:0006401", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14299,11 +14827,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Procedure", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0152152", - "object_id": "UMLS:C0015915", + "subject_id": "UMLS:C0005823", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14316,15 +14844,15 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UBERON:0000019", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0001413", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14333,11 +14861,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "UMLS:C1306577", + "subject_id": "CHEBI:10022", + "object_id": "UMLS:C0023823", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14345,16 +14873,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "HP:0001945", + "subject_id": "CHEBI:134126", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14362,20 +14890,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "NCIT:C35979", + "subject_id": "HP:0003651", + "object_id": "UMLS:C0023823", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14384,11 +14912,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "HP:0001945", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0000702", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14401,62 +14929,62 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Protein", + "subject_category": "biolink:Gene", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:121493436", - "object_id": "PR:000016801", + "subject_id": "HGNC:2708", + "object_id": "UMLS:C1101610", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Protein", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MESH:D005407", + "subject_id": "UMLS:C0000254", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0003261", + "subject_id": "UMLS:C0871470", + "object_id": "UMLS:C0023823", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Device", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0032616", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0001413", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14464,33 +14992,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Device", + "subject_category": "biolink:Drug", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001876", - "object_id": "UMLS:C0042838", + "subject_id": "MESH:D006131", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Food", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:16038", - "object_id": "UMLS:C0597423", + "subject_id": "HP:0001824", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14503,11 +15031,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Activity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0021498", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0027793", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14515,16 +15043,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Activity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000934", - "object_id": "UMLS:C0035028", + "subject_id": "CHEBI:134126", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14532,16 +15060,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Activity", + "subject_category": "biolink:Food", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0025513", - "object_id": "UMLS:C0425422", + "subject_id": "UMLS:C0017517", + "object_id": "UMLS:C0023823", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14549,20 +15077,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Activity", + "subject_category": "biolink:Disease", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0019868", - "object_id": "UMLS:C0035028", + "subject_id": "MONDO:0000490", + "object_id": "UMLS:C0012924", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14571,15 +15099,15 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Activity", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0035007", - "object_id": "UMLS:C0035953", + "subject_id": "UBERON:0000044", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14588,11 +15116,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0007577", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0073432", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14605,11 +15133,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0020964", + "subject_id": "UMLS:C0005839", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14622,11 +15150,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "NCIT:C28506", - "object_id": "UMLS:C0079291", + "subject_id": "HP:0000718", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14639,28 +15167,28 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "HP:0004324", - "object_id": "UMLS:C0034917", + "subject_id": "UMLS:C0003261", + "object_id": "UMLS:C0006556", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:60160", - "object_id": "UBERON:0000043", + "subject_id": "UBERON:0000004", + "object_id": "UMLS:C1956352", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14674,14 +15202,14 @@ }, { "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Cell", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0007600", + "subject_id": "MESH:D000067128", + "object_id": "UMLS:C0012929", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14690,28 +15218,28 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "CHEBI:22689", - "object_id": "MESH:D000088502", + "subject_id": "GO:0003676", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Cell", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "UMLS:C0596901", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0006556", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14724,11 +15252,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D000071439", - "object_id": "MESH:D016615", + "subject_id": "UMLS:C0002957", + "object_id": "UMLS:C0035702", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14741,32 +15269,32 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Food", + "subject_category": "biolink:Activity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0428696", - "object_id": "UMLS:C0938430", + "subject_id": "UMLS:C0237820", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0016323", - "object_id": "UMLS:C0008071", + "subject_id": "UMLS:C0005938", + "object_id": "UMLS:C1101610", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14775,32 +15303,32 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "CHEBI:28017", + "subject_id": "GO:0000724", + "object_id": "UMLS:C0028948", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "GO:0000266", - "object_id": "GO:0005739", + "subject_id": "UMLS:C0008813", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -14809,11 +15337,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D008925", - "object_id": "MESH:D007371", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0012868", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14826,28 +15354,28 @@ ] }, { - "subject_category": "biolink:Pathway", - "object_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "GO:0000077", - "object_id": "UMLS:C0008546", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0012931", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Device", + "subject_category": "biolink:Food", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "HGNC:5756", - "object_id": "UMLS:C0534010", + "subject_id": "UMLS:C0012171", + "object_id": "CHV:0000021208", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14860,11 +15388,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Device", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "HGNC:39002", - "object_id": "UMLS:C0071500", + "subject_id": "HP:0045047", + "object_id": "UMLS:C0031715", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14872,67 +15400,59 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C1444783", + "subject_id": "MESH:D059365", + "object_id": "UMLS:C3157932", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597832", - "object_id": "HP:0004324", + "subject_id": "MESH:D059365", + "object_id": "UMLS:C3157931", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032042", - "object_id": "NCIT:C35041", + "subject_id": "UMLS:C0009393", + "object_id": "UMLS:C0033086", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "NCIT:C35041", + "subject_id": "UMLS:C0037392", + "object_id": "UBERON:0002398", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -14945,84 +15465,16 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PhenotypicFeature", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:100381270", - "object_id": "UMLS:C0543421", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Activity", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0496675", - "object_id": "UNII:B72HH48FLU", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0949469", - "object_id": "UMLS:C0105729", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Publication", - "object_category": "biolink:Protein", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "MESH:D008049", + "subject_id": "UMLS:C0000934", + "object_id": "UMLS:C0035028", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:SmallMolecule", - "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:453626", - "object_id": "CHEBI:60285", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -15030,11 +15482,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Protein", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0523584", - "object_id": "CHEBI:33375", + "subject_id": "UMLS:C0001642", + "object_id": "UMLS:C0012171", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15047,28 +15499,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB11003", - "object_id": "UMLS:C0020964", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "GO:0010467", + "subject_id": "MESH:D020077", + "object_id": "UMLS:C0015219", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15081,11 +15516,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032616", - "object_id": "GO:0010467", + "subject_id": "UBERON:0004590", + "object_id": "UMLS:C0021167", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15098,15 +15533,15 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "GO:0010467", + "subject_id": "CHV:0000021208", + "object_id": "HGNC:5756", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -15115,11 +15550,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Activity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "GO:0010467", + "subject_id": "UMLS:C0150598", + "object_id": "NCBIGene:1789", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15132,11 +15567,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UniProtKB:P68431", - "object_id": "GO:0010467", + "subject_id": "UMLS:C0012797", + "object_id": "NCBIGene:27", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15144,33 +15579,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Procedure", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0006556", - "object_id": "UMLS:C0040669", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Procedure", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:16038", - "object_id": "UMLS:C0040669", + "subject_id": "CHEBI:10033", + "object_id": "NCBIGene:79001", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15178,33 +15596,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Procedure", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C1176468", + "subject_id": "UMLS:C0004793", + "object_id": "NCBIGene:1026", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Procedure", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "UMLS:C0489482", + "subject_id": "DRUGBANK:DB10276", + "object_id": "NCBIGene:7099", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15217,11 +15635,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "HGNC:39025", - "object_id": "UMLS:C0040669", + "subject_id": "UMLS:C1511997", + "object_id": "CHEBI:24621", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15234,11 +15652,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Procedure", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:10093", - "object_id": "UMLS:C0017191", + "subject_id": "UMLS:C0238884", + "object_id": "CHEBI:30251", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15251,11 +15669,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Protein", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "GO:0006401", - "object_id": "UMLS:C0033684", + "subject_id": "DRUGBANK:DB12768", + "object_id": "UMLS:C0086982", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15285,28 +15703,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "HP:0045047", - "object_id": "UMLS:C0031715", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "UMLS:C3157932", + "subject_id": "UMLS:C0003261", + "object_id": "UMLS:C1818753", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -15315,11 +15716,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "UMLS:C3157931", + "subject_id": "UMLS:C0003261", + "object_id": "UMLS:C1818752", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -15328,11 +15729,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Cell", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0018183", + "subject_id": "UMLS:C0020969", + "object_id": "NCBIGene:100289419", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15345,28 +15746,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Device", + "subject_category": "biolink:Device", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009393", - "object_id": "UMLS:C0033086", + "subject_id": "UMLS:C0003072", + "object_id": "NCBIGene:3156", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0037392", - "object_id": "UBERON:0002398", + "subject_id": "GO:0000012", + "object_id": "UMLS:C0007586", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15379,11 +15780,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Disease", + "subject_category": "biolink:Cell", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UBERON:0004590", - "object_id": "UMLS:C0021167", + "subject_id": "UMLS:C0443611", + "object_id": "UMLS:C0042784", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15396,28 +15797,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MESH:D008049", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:Protein", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "MESH:D015850", + "subject_id": "MESH:D000086942", + "object_id": "UMLS:C1444783", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15430,11 +15814,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188771", - "object_id": "NCBIGene:7003", + "subject_id": "UMLS:C0597832", + "object_id": "HP:0004324", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15442,16 +15826,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Gene", + "subject_category": "biolink:Procedure", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005974", - "object_id": "NCBIGene:796", + "subject_id": "UMLS:C0032042", + "object_id": "NCIT:C35041", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15464,45 +15848,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0001646", - "object_id": "NCBIGene:4803", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0002957", - "object_id": "NCBIGene:23013", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Activity", - "object_category": "biolink:Gene", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0150598", - "object_id": "NCBIGene:1789", + "subject_id": "UMLS:C0015919", + "object_id": "NCIT:C35041", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15515,28 +15865,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "NCBIGene:79001", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:Gene", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100049542", - "object_id": "UMLS:C1335144", + "subject_id": "NCBIGene:100381270", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15549,11 +15882,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Gene", + "subject_category": "biolink:Activity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "NCBIGene:7099", + "subject_id": "UMLS:C0549255", + "object_id": "UMLS:C0000254", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15566,11 +15899,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "CHEBI:24621", + "subject_id": "CHEBI:10072", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15625,130 +15958,11 @@ } ] }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1742988", - "object_id": "CHEMBL.TARGET:CHEMBL3833421", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "PUBCHEM.COMPOUND:15666", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:545", - "object_id": "PUBCHEM.COMPOUND:453626", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:60285", - "object_id": "PUBCHEM.COMPOUND:453626", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "PUBCHEM.COMPOUND:453626", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16247", - "object_id": "PUBCHEM.COMPOUND:453626", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0002198", - "object_id": "PUBCHEM.COMPOUND:453626", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:16057918", + "subject_id": "CHEBI:18070", "object_id": "PUBCHEM.COMPOUND:453626", "qualifiers": [ { @@ -15778,33 +15992,16 @@ } ] }, - { - "subject_category": "biolink:Cell", - "object_category": "biolink:Cell", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0005773", - "object_id": "UMLS:C0879438", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Cell", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0085236", + "object_id": "MESH:D014158", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -15813,28 +16010,11 @@ ] }, { - "subject_category": "biolink:Food", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "UMLS:C0024432", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Food", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16038", - "object_id": "UMLS:C0597423", + "subject_id": "UBERON:0008826", + "object_id": "CL:0000583", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15850,7 +16030,7 @@ "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16038", + "subject_id": "CHEBI:135590", "object_id": "UBERON:0008826", "qualifiers": [ { @@ -15910,19 +16090,6 @@ } ] }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0003261", - "object_id": "UMLS:C1818752", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, { "subject_category": "biolink:Protein", "object_category": "biolink:Protein", @@ -15961,8 +16128,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0038239", + "subject_id": "RXCUI:1085956", + "object_id": "UMLS:C0699612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15979,7 +16146,7 @@ "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", "subject_id": "CHEBI:25614", - "object_id": "UMLS:C0007577", + "object_id": "MESH:D014158", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -15995,8 +16162,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0017127", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0027793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16013,7 +16180,7 @@ "object_category": "biolink:Cell", "predicate": "biolink:causes", "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0009013", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16047,7 +16214,7 @@ "object_category": "biolink:Cell", "predicate": "biolink:causes", "subject_id": "CHEBI:25614", - "object_id": "UMLS:C0027950", + "object_id": "CL:0000084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16060,58 +16227,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0003261", - "object_id": "UMLS:C1818753", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:ChemicalEntity", - "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "CHEBI:16412", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "UMLS:C0086982", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Gene", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "NCBIGene:1278", + "subject_id": "CHEBI:16113", + "object_id": "MESH:D000086942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16124,11 +16244,11 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Gene", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "NCBIGene:100289419", + "subject_id": "UMLS:C0003261", + "object_id": "MESH:D000086942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16141,11 +16261,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Gene", + "subject_category": "biolink:Protein", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "NCBIGene:3156", + "subject_id": "UMLS:C0020960", + "object_id": "MESH:D000086942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16159,70 +16279,10 @@ }, { "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "MESH:D018965", - "object_id": "UMLS:C3270822", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0006660", - "object_id": "UMLS:C2610824", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0013470", - "object_id": "PUBCHEM.COMPOUND:168266256", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Food", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0037732", - "object_id": "UMLS:C0032058", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Device", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UBERON:0000045", - "object_id": "UMLS:C0649526", + "subject_id": "MESH:D011995", + "object_id": "MESH:D000086942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16235,32 +16295,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:132844", - "object_id": "CHEBI:60160", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "CHEBI:16412", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C5202641", + "object_id": "MESH:D008928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16269,28 +16312,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ChemicalMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16646", - "object_id": "CHEBI:60160", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "HGNC:12696", - "object_id": "CHEBI:25614", + "subject_id": "CHEBI:261649", + "object_id": "CHEMBL.TARGET:CHEMBL4523964", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16303,28 +16329,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:ChemicalMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0007577", - "object_id": "CHEBI:25614", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MESH:D008247", - "object_id": "CHEBI:60160", + "subject_id": "CHEBI:134126", + "object_id": "NCBIGene:2741", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16332,20 +16341,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0030012", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0021498", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16354,15 +16363,15 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005520", - "object_id": "CHEBI:60027", + "subject_id": "UMLS:C0025513", + "object_id": "UMLS:C0425422", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16371,15 +16380,15 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Procedure", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:14228836", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0032042", + "object_id": "UBERON:0001384", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16388,15 +16397,15 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:Protein", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "UMLS:C0019046", + "subject_id": "UBERON:0000045", + "object_id": "UMLS:C0649526", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16405,11 +16414,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0013119", - "object_id": "UMLS:C0043240", + "subject_id": "UMLS:C0019868", + "object_id": "UMLS:C0035028", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16422,11 +16431,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Device", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0026687", - "object_id": "UMLS:C0033086", + "subject_id": "UMLS:C0035007", + "object_id": "UMLS:C0035953", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16434,16 +16443,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Device", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "UMLS:C0649526", + "subject_id": "MESH:D000086942", + "object_id": "MESH:D011995", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16456,15 +16465,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MESH:D000086663", - "object_id": "UMLS:C0033213", + "subject_id": "CHEMBL.TARGET:CHEMBL2364181", + "object_id": "CHEBI:81916", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16473,15 +16482,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:23443659", - "object_id": "UMLS:C0033213", + "subject_id": "CHEBI:28017", + "object_id": "CHEBI:81916", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16490,15 +16499,15 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:Protein", + "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1704723", - "object_id": "UMLS:C0033213", + "subject_id": "UMLS:C0002520", + "object_id": "UMLS:C0015919", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16507,49 +16516,41 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10125", - "object_id": "UMLS:C0205160", + "subject_id": "GO:0000014", + "object_id": "GO:1990600", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0033213", + "subject_id": "GO:0000150", + "object_id": "GO:0140620", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0073432", - "object_id": "UMLS:C0205160", + "subject_id": "UMLS:C0677040", + "object_id": "UMLS:C0019046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16558,45 +16559,37 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C0205082", + "subject_id": "UMLS:C0006660", + "object_id": "UMLS:C2610825", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100288687", - "object_id": "UMLS:C0205160", + "subject_id": "UMLS:C0006660", + "object_id": "UMLS:C2610824", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:Food", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002520", - "object_id": "UMLS:C0205160", + "subject_id": "UMLS:C0037732", + "object_id": "UMLS:C0032058", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16609,15 +16602,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "UMLS:C0205082", + "subject_id": "CHEBI:60160", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16626,15 +16619,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100736251", - "object_id": "UMLS:C0205082", + "subject_id": "CHEBI:132844", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16643,11 +16636,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "MESH:D000086663", - "object_id": "UMLS:C0205082", + "subject_id": "CHEBI:16261", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16655,76 +16648,84 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "UMLS:C0205082", + "subject_id": "MESH:D014158", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:18154", - "object_id": "UMLS:C0033213", + "subject_id": "MESH:D008247", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "GO:0000288", - "object_id": "UMLS:C3269665", + "subject_id": "UMLS:C0030012", + "object_id": "CHEBI:25614", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "GO:0000288", - "object_id": "UMLS:C3269655", + "subject_id": "UMLS:C0005520", + "object_id": "CHEBI:60027", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:GeneFamily", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1201454", - "object_id": "CHEMBL.TARGET:CHEMBL2094111", + "subject_id": "CHEBI:16646", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16737,11 +16738,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:16113", - "object_id": "MESH:D000086942", + "subject_id": "HGNC:12696", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16749,20 +16750,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003261", - "object_id": "MESH:D000086942", + "subject_id": "CHEBI:26710", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16771,11 +16772,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Device", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0025248", - "object_id": "MESH:D000086942", + "subject_id": "UMLS:C0013119", + "object_id": "UMLS:C0043240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16783,33 +16784,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "NCIT:C18016", - "object_id": "UMLS:C1520765", + "subject_id": "UMLS:C0026687", + "object_id": "UMLS:C0033086", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Cell", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C5202641", - "object_id": "MESH:D008928", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0699612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16822,11 +16823,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:Gene", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200357", - "object_id": "CHEMBL.TARGET:CHEMBL2354204", + "subject_id": "HGNC:39002", + "object_id": "UMLS:C0071500", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16839,11 +16840,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032042", - "object_id": "UBERON:0001384", + "subject_id": "MESH:D000086663", + "object_id": "UMLS:C0033213", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16856,15 +16857,15 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HP:0003651", - "object_id": "NCBIGene:100506897", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0033213", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16873,15 +16874,15 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Gene", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003920", - "object_id": "NCBIGene:6523", + "subject_id": "UMLS:C1704723", + "object_id": "UMLS:C0033213", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16890,11 +16891,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Gene", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "NCBIGene:196", + "subject_id": "CHEBI:10125", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16907,15 +16908,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Gene", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB10276", - "object_id": "NCBIGene:55364", + "subject_id": "UMLS:C0073432", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16924,11 +16925,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Gene", + "subject_category": "biolink:Drug", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015259", - "object_id": "NCBIGene:7076", + "subject_id": "UMLS:C0003209", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16936,20 +16937,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Gene", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364181", - "object_id": "PUBCHEM.COMPOUND:8519", + "subject_id": "NCBIGene:100288687", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16959,10 +16960,10 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:PhysicalEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:D013482", - "object_id": "UMLS:C0015919", + "subject_id": "UMLS:C0001060", + "object_id": "UMLS:C4748586", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -16970,20 +16971,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Drug", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "PUBCHEM.COMPOUND:433294", + "subject_id": "RXCUI:1922754", + "object_id": "UMLS:C1299586", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -16992,54 +16993,62 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Protein", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0000014", - "object_id": "GO:1990600", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C0205160", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "GO:0000150", - "object_id": "GO:0140620", + "subject_id": "UMLS:C0080089", + "object_id": "UMLS:C0033213", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032616", - "object_id": "MESH:D010578", + "subject_id": "CHEBI:2417", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:61452", - "object_id": "MESH:D010578", + "subject_id": "MESH:D000086663", + "object_id": "UMLS:C0205082", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17052,11 +17061,11 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "MESH:D010578", + "subject_id": "CHEBI:10033", + "object_id": "UMLS:C0205082", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17069,11 +17078,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MESH:D000077215", + "subject_id": "CHEBI:18154", + "object_id": "UMLS:C0033213", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17081,16 +17090,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Gene", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003072", - "object_id": "NCBIGene:4589", + "subject_id": "UMLS:C0718215", + "object_id": "CHV:0000010203", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17098,16 +17107,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Gene", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "GO:0005219", - "object_id": "NCBIGene:6717", + "subject_id": "GO:0000288", + "object_id": "UMLS:C3269665", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -17116,11 +17125,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Gene", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "GO:0005219", - "object_id": "NCBIGene:1193", + "subject_id": "GO:0000288", + "object_id": "UMLS:C3269655", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -17129,32 +17138,32 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "CHEBI:16336", - "object_id": "PUBCHEM.COMPOUND:91820602", + "subject_id": "CHEMBL.COMPOUND:CHEMBL1201454", + "object_id": "CHEMBL.TARGET:CHEMBL2095203", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Publication", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "UMLS:C0001451", + "subject_id": "CHEBI:229213", + "object_id": "UMLS:C0665341", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -17163,11 +17172,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Publication", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0549255", - "object_id": "PUBCHEM.COMPOUND:105053", + "subject_id": "UMLS:C0599740", + "object_id": "UMLS:C0001451", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17175,7 +17184,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -17200,8 +17209,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "MESH:C465023", + "subject_id": "UMLS:C0002520", + "object_id": "MESH:D020077", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17230,6 +17239,23 @@ } ] }, + { + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0001271", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Phenomenon", @@ -17251,12 +17277,12 @@ "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "GO:0001960", - "object_id": "GO:0019221", + "subject_id": "GO:0000747", + "object_id": "GO:0032005", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, @@ -17264,12 +17290,12 @@ "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "GO:0001961", + "subject_id": "GO:0001960", "object_id": "GO:0019221", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, @@ -17328,8 +17354,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C0015919", + "subject_id": "UMLS:C0003280", + "object_id": "UMLS:C0037392", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17345,7 +17371,7 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:15377", + "subject_id": "CHEBI:133011", "object_id": "UMLS:C0015919", "qualifiers": [ { @@ -17481,8 +17507,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C0015919", + "subject_id": "UMLS:C1330330", + "object_id": "UMLS:C0037392", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17495,11 +17521,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Activity", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:ComplexMolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "UMLS:C0549255", + "subject_id": "UMLS:C0042834", + "object_id": "MESH:D053260", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17512,15 +17538,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "MESH:D005075", - "object_id": "UMLS:C1160466", + "subject_id": "CHEBI:10072", + "object_id": "UMLS:C0597423", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -17529,11 +17555,28 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "GO:0006260", - "object_id": "UMLS:C0003261", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0035191", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Publication", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1301821", + "object_id": "CHEBI:35341", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17546,11 +17589,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Cell", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1157038", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C0043085", + "object_id": "UMLS:C0206217", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17563,11 +17606,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Cell", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UBERON:0000019", - "object_id": "UMLS:C0879438", + "subject_id": "CHV:0000055769", + "object_id": "UMLS:C1160466", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17580,45 +17623,45 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Disease", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "MONDO:0001576", + "subject_id": "GO:0006260", + "object_id": "UMLS:C0003261", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Disease", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "MONDO:0019182", + "subject_id": "UBERON:0000019", + "object_id": "UMLS:C0879438", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0205082", - "object_id": "PUBCHEM.COMPOUND:168266382", + "subject_id": "UMLS:C0449238", + "object_id": "MONDO:0001576", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17648,11 +17691,11 @@ ] }, { - "subject_category": "biolink:Behavior", + "subject_category": "biolink:Event", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009928", - "object_id": "UMLS:C0719201", + "subject_id": "UMLS:C0040537", + "object_id": "MESH:D062789", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17665,11 +17708,11 @@ ] }, { - "subject_category": "biolink:Event", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0040537", - "object_id": "MESH:D062789", + "subject_id": "CHEBI:10033", + "object_id": "UMLS:C0696946", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17677,7 +17720,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -17698,12 +17741,29 @@ } ] }, + { + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:OrganismTaxon", + "predicate": "biolink:causes", + "subject_id": "CHEBI:132952", + "object_id": "UMLS:C0718215", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:ChemicalMixture", "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "CHEBI:25614", - "object_id": "UMLS:C0033684", + "object_id": "UMLS:C0020960", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17719,8 +17779,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004391", - "object_id": "UMLS:C0040669", + "subject_id": "MESH:D014158", + "object_id": "UMLS:C1515979", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17736,8 +17796,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0040669", + "subject_id": "UMLS:C0001645", + "object_id": "UMLS:C0001884", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17801,10 +17861,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11105", + "subject_id": "UMLS:C0004793", "object_id": "UMLS:C0008813", "qualifiers": [ { @@ -17818,10 +17878,10 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "NCBIGene:57760", + "subject_id": "CHEBI:133354", "object_id": "UMLS:C0040669", "qualifiers": [ { @@ -17852,15 +17912,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "PUBCHEM.COMPOUND:133128", + "subject_id": "UMLS:C0004933", + "object_id": "UMLS:C0032942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -17869,33 +17929,16 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373040", - "object_id": "PUBCHEM.COMPOUND:168010178", + "subject_id": "CHEBI:16469", + "object_id": "UMLS:C0009990", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:ComplexMolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0042834", - "object_id": "MESH:D053260", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -17903,11 +17946,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Food", + "subject_category": "biolink:Activity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:26125", - "object_id": "UMLS:C0006494", + "subject_id": "UMLS:C0015259", + "object_id": "UMLS:C0452415", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17921,10 +17964,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Food", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:10072", - "object_id": "UMLS:C0597423", + "subject_id": "CHEBI:10044", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17936,29 +17979,12 @@ } ] }, - { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Drug", - "predicate": "biolink:causes", - "subject_id": "NCBITaxon:1301", - "object_id": "CHEBI:28017", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Device", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10207414", - "object_id": "UMLS:C0016328", + "subject_id": "CHEBI:141517", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17971,11 +17997,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Device", + "subject_category": "biolink:Food", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0035191", + "subject_id": "UMLS:C0006494", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -17988,11 +18014,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1301821", - "object_id": "CHEBI:35341", + "subject_id": "UBERON:0000029", + "object_id": "NCBITaxon:11089", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18005,28 +18031,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "CHEBI:10110", - "object_id": "UMLS:C0812399", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Protein", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001884", - "object_id": "UMLS:C0215825", + "subject_id": "MESH:D014612", + "object_id": "NCBITaxon:11089", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18034,7 +18043,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -18055,46 +18064,12 @@ } ] }, - { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Behavior", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0004933", - "object_id": "UMLS:C0032942", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Behavior", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16469", - "object_id": "UMLS:C0009990", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Activity", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015259", - "object_id": "UMLS:C0452415", + "subject_id": "CHEBI:134742", + "object_id": "NCBITaxon:83332", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18102,16 +18077,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "CHEBI:10044", - "object_id": "UMLS:C0034917", + "subject_id": "HP:0001824", + "object_id": "UMLS:C0115137", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18119,33 +18094,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0043085", - "object_id": "UMLS:C0206217", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0543421", + "subject_id": "NCBITaxon:5052", + "object_id": "CHEBI:52492", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18158,11 +18116,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UBERON:0000029", - "object_id": "NCBITaxon:11089", + "subject_id": "UMLS:C1167395", + "object_id": "NCBIGene:10133", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18175,11 +18133,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MESH:D014612", - "object_id": "NCBITaxon:11089", + "subject_id": "MESH:D008925", + "object_id": "NCBIGene:3497", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18192,11 +18150,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:134742", - "object_id": "NCBITaxon:83332", + "subject_id": "UMLS:C0001884", + "object_id": "UMLS:C0215825", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18209,50 +18167,16 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Protein", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "CHEBI:132952", + "subject_id": "UMLS:C0002520", "object_id": "UMLS:C0718215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Device", - "predicate": "biolink:causes", - "subject_id": "HP:0001824", - "object_id": "UMLS:C0115137", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "NCBIGene:10133", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -18260,11 +18184,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Gene", + "subject_category": "biolink:Disease", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D008925", - "object_id": "NCBIGene:3497", + "subject_id": "MONDO:0000837", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18272,7 +18196,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -18280,8 +18204,8 @@ "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0001236", - "object_id": "MESH:C423320", + "subject_id": "UBERON:0002481", + "object_id": "CHEBI:33699", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18345,10 +18269,10 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006938", + "subject_id": "CHEBI:3645", "object_id": "NCBIGene:1565", "qualifiers": [ { @@ -18362,28 +18286,28 @@ ] }, { - "subject_category": "biolink:Publication", + "subject_category": "biolink:Protein", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "NCBIGene:10013", + "subject_id": "UMLS:C0006938", + "object_id": "NCBIGene:1565", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Publication", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "UMLS:C1257737", + "subject_id": "UMLS:C0599740", + "object_id": "NCBIGene:10013", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18396,11 +18320,11 @@ ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MONDO:0020724", - "object_id": "UMLS:C0145779", + "subject_id": "GO:0006401", + "object_id": "UMLS:C0033684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18413,11 +18337,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:16682734", - "object_id": "CHEMBL.TARGET:CHEMBL2094253", + "subject_id": "UMLS:C0812399", + "object_id": "UMLS:C0006938", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18429,29 +18353,12 @@ } ] }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:Activity", - "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0599946", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:Drug", + "object_category": "biolink:Protein", "predicate": "biolink:causes", "subject_id": "UMLS:C0677040", - "object_id": "CHEBI:34674", + "object_id": "UMLS:C0012512", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18464,11 +18371,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Gene", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373035", - "object_id": "NCBIGene:7032", + "subject_id": "UBERON:0002481", + "object_id": "UMLS:C0033684", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18481,11 +18388,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:10082", - "object_id": "CHEMBL.TARGET:CHEMBL2094111", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18499,27 +18406,10 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "UNII:3JB47N2Q2P", - "object_id": "CHEMBL.TARGET:CHEMBL1907599", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Disease", - "object_category": "biolink:Activity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0302295", - "object_id": "UMLS:C0150141", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0035191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18532,45 +18422,37 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0879593", - "object_id": "HP:0011157", + "subject_id": "GO:0005219", + "object_id": "NCBIGene:6717", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:16243", - "object_id": "UMLS:C0150479", + "subject_id": "GO:0005219", + "object_id": "NCBIGene:1193", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Protein", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "UMLS:C0442751", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18586,7 +18468,7 @@ "subject_category": "biolink:Protein", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", + "subject_id": "UMLS:C0001271", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -18604,7 +18486,7 @@ "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", "subject_id": "UMLS:C0002085", - "object_id": "NCBIGene:470", + "object_id": "UMLS:C0004793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18634,11 +18516,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "UMLS:C3178810", + "subject_id": "CHEBI:16247", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18654,8 +18536,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28966", - "object_id": "NCBIGene:878", + "subject_id": "UMLS:C0003376", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18668,11 +18550,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "NCBIGene:140821", + "subject_id": "UMLS:C1335464", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18685,11 +18567,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1335464", - "object_id": "UMLS:C0162326", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0012872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18702,11 +18584,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188830", - "object_id": "UMLS:C0677504", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18719,11 +18601,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006556", - "object_id": "UMLS:C0162326", + "subject_id": "CHEBI:10022", + "object_id": "UMLS:C3178810", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18739,8 +18621,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", - "object_id": "NCBIGene:6012", + "subject_id": "CHEBI:17833", + "object_id": "UMLS:C0004793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18787,11 +18669,11 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "UMLS:C0752046", + "subject_id": "CHEBI:10545", + "object_id": "UMLS:C0080089", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18804,11 +18686,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "NCBIGene:7908", + "subject_id": "MESH:D020077", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18821,11 +18703,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Protein", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "NCBIGene:140821", + "subject_id": "UMLS:C0001239", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18838,11 +18720,11 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:Gene", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "NCBIGene:57762", + "subject_id": "HGNC:12529", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18855,11 +18737,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "NCBIGene:780904", + "subject_id": "CHEBI:10022", + "object_id": "UMLS:C5236345", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18872,11 +18754,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100329167", - "object_id": "NCBIGene:100505390", + "subject_id": "CHEBI:17439", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18889,10 +18771,10 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D000071439", + "subject_id": "CHV:0000021208", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -18906,11 +18788,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "NCBIGene:100271694", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18923,10 +18805,10 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010744", + "subject_id": "MESH:D010578", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -18940,11 +18822,11 @@ ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0879593", - "object_id": "UMLS:C0162326", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0012591", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18957,11 +18839,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Drug", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D020077", - "object_id": "UMLS:C0162326", + "subject_id": "UMLS:C0003015", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18974,11 +18856,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL2107359", - "object_id": "CHEMBL.TARGET:CHEMBL2366047", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0080089", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -18991,11 +18873,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D010578", - "object_id": "NCBIGene:4397", + "subject_id": "MESH:D000071439", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19008,11 +18890,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:Cell", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0012591", + "subject_id": "UMLS:C0879593", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19025,11 +18907,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002074", - "object_id": "UMLS:C0004793", + "subject_id": "GO:0005604", + "object_id": "UMLS:C0162327", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19042,10 +18924,10 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0000125", + "subject_id": "UMLS:C1167395", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19059,11 +18941,11 @@ ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MONDO:0000448", - "object_id": "UMLS:C0162326", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0004793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19076,10 +18958,10 @@ ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:Phenomenon", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "GO:0003677", + "subject_id": "UMLS:C0002074", "object_id": "UMLS:C0004793", "qualifiers": [ { @@ -19093,11 +18975,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "GO:0005604", - "object_id": "NCBIGene:84565", + "subject_id": "GO:0000712", + "object_id": "UMLS:C1258072", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19110,11 +18992,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "HP:0000718", - "object_id": "NCBIGene:4963", + "subject_id": "GO:0003677", + "object_id": "UMLS:C0004793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19127,10 +19009,10 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Behavior", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "CHV:0000005405", + "subject_id": "UMLS:C0003646", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19144,11 +19026,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Disease", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "GO:0000712", - "object_id": "UMLS:C1258072", + "subject_id": "DOID:0111252", + "object_id": "UMLS:C1521100", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19161,10 +19043,10 @@ ] }, { - "subject_category": "biolink:Behavior", + "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003646", + "subject_id": "UBERON:0000029", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19181,8 +19063,8 @@ "subject_category": "biolink:Cell", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", - "object_id": "UMLS:C0162326", + "subject_id": "CL:0000010", + "object_id": "UMLS:C1512886", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19195,11 +19077,11 @@ ] }, { - "subject_category": "biolink:Activity", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "NCBIGene:100528023", + "subject_id": "HP:0000752", + "object_id": "UMLS:C0600477", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19212,10 +19094,10 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009393", + "subject_id": "UBERON:0000125", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19229,11 +19111,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Procedure", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007165", - "object_id": "NCBIGene:5120", + "subject_id": "UMLS:C0008813", + "object_id": "UMLS:C0004793", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19246,10 +19128,10 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0000029", + "subject_id": "UMLS:C0009393", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19263,10 +19145,10 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:Activity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238815", + "subject_id": "UMLS:C0237820", "object_id": "UMLS:C0162326", "qualifiers": [ { @@ -19280,11 +19162,11 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "UMLS:C0080089", + "subject_id": "UMLS:C0455829", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19297,11 +19179,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", + "subject_category": "biolink:PopulationOfIndividualOrganisms", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "UMLS:C0033755", + "subject_id": "UMLS:C0238815", + "object_id": "UMLS:C0162326", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19314,11 +19196,11 @@ ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0008813", - "object_id": "UMLS:C0004793", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C0080089", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19364,6 +19246,91 @@ } ] }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Gene", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1373035", + "object_id": "NCBIGene:7032", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Disease", + "object_category": "biolink:Activity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0302295", + "object_id": "UMLS:C0150141", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Cell", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0879593", + "object_id": "NCIT:C36289", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "CHEBI:16243", + "object_id": "UMLS:C0150479", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0696628", + "object_id": "UMLS:C0442751", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:Device", @@ -19416,11 +19383,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0012171", + "subject_id": "CHEBI:25681", + "object_id": "UMLS:C0597423", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19450,28 +19417,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", + "subject_id": "CHEBI:2361", "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:16213644", - "object_id": "UMLS:C0205161", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0205160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19501,11 +19468,11 @@ ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907589", - "object_id": "CHEMBL.COMPOUND:CHEMBL2104964", + "subject_id": "CHEBI:10110", + "object_id": "UMLS:C0812399", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19513,7 +19480,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -19534,23 +19501,6 @@ } ] }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:68579", - "object_id": "NCBIGene:1544", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:CellularComponent", "object_category": "biolink:Gene", @@ -19616,11 +19566,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Cell", + "subject_category": "biolink:Food", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0675244", - "object_id": "UMLS:C0225828", + "subject_id": "UMLS:C0012171", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19628,42 +19578,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Disease", + "subject_category": "biolink:Food", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C1326509", - "object_id": "MONDO:0002459", + "subject_id": "UMLS:C0012171", + "object_id": "UMLS:C0003402", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Disease", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C1155230", - "object_id": "UMLS:C1155247", + "subject_id": "UMLS:C1167395", + "object_id": "RXCUI:237976", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:47775", - "object_id": "UMLS:C0240321", + "subject_id": "GO:0000724", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19676,15 +19634,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:16236", - "object_id": "UMLS:C0238711", + "subject_id": "UMLS:C0675244", + "object_id": "CL:0000746", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -19693,19 +19651,19 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:129831", - "object_id": "UMLS:C0240321", + "subject_id": "CHEBI:25614", + "object_id": "UMLS:C1257737", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -19794,6 +19752,100 @@ } ] }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1160588", + "object_id": "MONDO:0000837", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "UMLS:C1155230", + "object_id": "UMLS:C1155247", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:Cell", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0879593", + "object_id": "MONDO:0006892", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PopulationOfIndividualOrganisms", + "predicate": "biolink:causes", + "subject_id": "CHEBI:47775", + "object_id": "UMLS:C0240321", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:PopulationOfIndividualOrganisms", + "predicate": "biolink:causes", + "subject_id": "CHEBI:16236", + "object_id": "UMLS:C0238711", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Gene", + "object_category": "biolink:PopulationOfIndividualOrganisms", + "predicate": "biolink:causes", + "subject_id": "NCBIGene:129831", + "object_id": "UMLS:C0240321", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:Cell", "object_category": "biolink:PhysiologicalProcess", @@ -19815,8 +19867,8 @@ "subject_category": "biolink:DiseaseOrPhenotypicFeature", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "OMIM:MTHU067598", - "object_id": "NCBIGene:388389", + "subject_id": "UMLS:C0033213", + "object_id": "NCBIGene:100996939", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19866,8 +19918,8 @@ "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEBI:18154", - "object_id": "UMLS:C0260581", + "subject_id": "CHEBI:16684", + "object_id": "UMLS:C0549255", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19880,15 +19932,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "CHEBI:16412", - "object_id": "CHV:0000042589", + "subject_id": "CHEBI:144351", + "object_id": "UMLS:C1572543", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -19898,10 +19950,10 @@ }, { "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0034917", - "object_id": "UMLS:C0543421", + "subject_id": "HP:0001518", + "object_id": "UMLS:C0078479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19909,7 +19961,24 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Gene", + "object_category": "biolink:Food", + "predicate": "biolink:causes", + "subject_id": "NCBIGene:1071", + "object_id": "UMLS:C0597423", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" } ] }, @@ -19948,11 +20017,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Drug", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "HP:0001518", - "object_id": "UMLS:C0078479", + "subject_id": "RXCUI:237976", + "object_id": "UMLS:C0353942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -19960,15 +20029,15 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Food", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1071", + "subject_id": "UMLS:C0006494", "object_id": "UMLS:C0597423", "qualifiers": [ { @@ -19982,28 +20051,58 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Food", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C0012171", + "subject_id": "CHEBI:16412", + "object_id": "CHV:0000042589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Food", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006494", - "object_id": "UMLS:C0597423", + "subject_id": "NCBIGene:4856", + "object_id": "DRUGBANK:DB00030", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0677040", + "object_id": "UMLS:C0243192", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0034917", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20011,7 +20110,24 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Procedure", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0054889", + "object_id": "UMLS:C0518031", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, @@ -20051,10 +20167,10 @@ }, { "subject_category": "biolink:Procedure", - "object_category": "biolink:PhenotypicFeature", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0054889", - "object_id": "UMLS:C0518031", + "subject_id": "UMLS:C0040669", + "object_id": "UMLS:C0004391", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20066,6 +20182,40 @@ } ] }, + { + "subject_category": "biolink:Procedure", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0032042", + "object_id": "MESH:C082218", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Protein", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0001924", + "object_id": "HP:0003651", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:Drug", "object_category": "biolink:Cohort", @@ -20135,11 +20285,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "HP:0003651", + "subject_id": "CHEBI:17439", + "object_id": "UMLS:C0489482", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20147,7 +20297,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -20155,7 +20305,7 @@ "subject_category": "biolink:Cell", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0018183", + "subject_id": "CL:0000094", "object_id": "UBERON:0008826", "qualifiers": [ { @@ -20202,6 +20352,40 @@ } ] }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:PhenotypicFeature", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0000934", + "object_id": "UMLS:C3849996", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Food", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0008858", + "object_id": "UMLS:C0376596", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:Disease", "object_category": "biolink:Food", @@ -20220,15 +20404,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000934", - "object_id": "UMLS:C3849996", + "subject_id": "UBERON:0000125", + "object_id": "UMLS:C0012171", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -20287,23 +20471,6 @@ } ] }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Event", - "predicate": "biolink:causes", - "subject_id": "CHEBI:17688", - "object_id": "UMLS:C0040537", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Behavior", @@ -20342,7 +20509,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "MESH:C542869", + "subject_id": "RXCUI:237976", "object_id": "UMLS:C0549255", "qualifiers": [ { @@ -20376,7 +20543,7 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:105053", + "subject_id": "CHEBI:2417", "object_id": "UMLS:C0549255", "qualifiers": [ { @@ -20393,7 +20560,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "RXCUI:219008", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -20427,8 +20594,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", - "object_id": "UMLS:C0549255", + "subject_id": "CHEBI:133354", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20441,10 +20608,10 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100528023", + "subject_id": "CHV:0000021208", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -20458,10 +20625,10 @@ ] }, { - "subject_category": "biolink:Device", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0035191", + "subject_id": "UMLS:C0162326", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -20475,11 +20642,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Device", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0040669", - "object_id": "UMLS:C0004391", + "subject_id": "UMLS:C0035191", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20492,15 +20659,15 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Event", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032042", - "object_id": "MESH:C082218", + "subject_id": "CHEBI:17688", + "object_id": "UMLS:C0040537", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -20509,28 +20676,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "MONDO:0001075", - "object_id": "UMLS:C0920330", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:Event", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "UMLS:C0012512", + "subject_id": "UMLS:C1874451", + "object_id": "UMLS:C0574035", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20542,23 +20692,6 @@ } ] }, - { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Food", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:2489", - "object_id": "UMLS:C0597423", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:OrganismAttribute", "object_category": "biolink:Food", @@ -20648,8 +20781,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C0032846", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0037570", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20657,16 +20790,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Drug", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0543421", - "object_id": "UMLS:C0006494", + "subject_id": "UMLS:C0003015", + "object_id": "UMLS:C0078479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20674,16 +20807,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11294", - "object_id": "UMLS:C1440480", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0012171", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20696,11 +20829,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "NCBIGene:53369", - "object_id": "UMLS:C0597423", + "subject_id": "UMLS:C0543421", + "object_id": "UMLS:C0006494", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -20712,45 +20845,11 @@ } ] }, - { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Food", - "predicate": "biolink:causes", - "subject_id": "UBERON:0000125", - "object_id": "UMLS:C0012171", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Food", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0008858", - "object_id": "UMLS:C0376596", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Cell", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0014597", + "subject_id": "CL:0000066", "object_id": "UMLS:C0012171", "qualifiers": [ { @@ -20764,10 +20863,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:156614059", + "subject_id": "UMLS:C0752046", "object_id": "UMLS:C0597423", "qualifiers": [ { @@ -20776,7 +20875,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -20814,23 +20913,6 @@ } ] }, - { - "subject_category": "biolink:Drug", - "object_category": "biolink:Event", - "predicate": "biolink:causes", - "subject_id": "UMLS:C1874451", - "object_id": "UMLS:C0574035", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:MolecularActivity", "object_category": "biolink:PhysiologicalProcess", @@ -20882,23 +20964,6 @@ } ] }, - { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Activity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0001413", - "object_id": "UMLS:C0237820", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:Activity", @@ -21036,11 +21101,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Gene", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004561", - "object_id": "MESH:D020077", + "subject_id": "NCBIGene:2272", + "object_id": "CHV:0000042589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21053,11 +21118,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Drug", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "MESH:D005075", - "object_id": "MESH:D020077", + "subject_id": "UMLS:C0002842", + "object_id": "CHV:0000042589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21070,11 +21135,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UBERON:0000178", - "object_id": "UMLS:C0600465", + "subject_id": "CHEBI:16737", + "object_id": "CHV:0000042589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21087,11 +21152,11 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:Drug", + "subject_category": "biolink:Protein", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238815", - "object_id": "UMLS:C0626053", + "subject_id": "UMLS:C0017968", + "object_id": "CHV:0000042589", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21104,10 +21169,10 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2272", + "subject_id": "UMLS:C0012939", "object_id": "CHV:0000042589", "qualifiers": [ { @@ -21121,11 +21186,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:Cell", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002842", - "object_id": "CHV:0000042589", + "subject_id": "CL:0000160", + "object_id": "UMLS:C0718215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21138,11 +21203,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "CHEBI:16737", - "object_id": "CHV:0000042589", + "subject_id": "MESH:D014158", + "object_id": "UMLS:C0600465", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21155,11 +21220,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "CHV:0000042589", + "subject_id": "UBERON:0000178", + "object_id": "UMLS:C0600465", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21172,11 +21237,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012939", - "object_id": "CHV:0000042589", + "subject_id": "UMLS:C0020969", + "object_id": "UMLS:C0003204", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21189,15 +21254,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0079925", - "object_id": "UMLS:C0678121", + "subject_id": "UMLS:C0238815", + "object_id": "UMLS:C0626053", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -21222,63 +21287,12 @@ } ] }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0002520", - "object_id": "UMLS:C1160534", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Drug", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C1160534", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:443495", - "object_id": "UMLS:C0812399", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "NCBIGene:117189", - "object_id": "UMLS:C0074530", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0071500", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21291,11 +21305,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Disease", "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "NCBIGene:470", - "object_id": "UMLS:C0699612", + "subject_id": "MONDO:0000837", + "object_id": "UMLS:C0115137", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21426,40 +21440,6 @@ } ] }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:OrganismTaxon", - "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "MESH:D008925", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Drug", - "object_category": "biolink:OrganismTaxon", - "predicate": "biolink:causes", - "subject_id": "MESH:D000681", - "object_id": "UMLS:C0718215", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:OrganismTaxon", @@ -21566,8 +21546,8 @@ "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "HP:0032326", - "object_id": "UMLS:C1295823", + "subject_id": "UMLS:C0516981", + "object_id": "UMLS:C0718215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21580,28 +21560,28 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Drug", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MONDO:0000490", - "object_id": "UMLS:C0240035", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0718215", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Protein", + "subject_category": "biolink:Protein", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0812399", - "object_id": "UMLS:C0006938", + "subject_id": "UMLS:C0002520", + "object_id": "UMLS:C1160534", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21614,11 +21594,11 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:SmallMolecule", + "subject_category": "biolink:Drug", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "CHEBI:8027", + "subject_id": "UMLS:C0003015", + "object_id": "UMLS:C0812399", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21626,21 +21606,72 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015259", - "object_id": "UMLS:C0021665", + "subject_id": "CHEBI:2361", + "object_id": "UMLS:C0812399", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Disease", + "object_category": "biolink:Procedure", + "predicate": "biolink:causes", + "subject_id": "MONDO:0000490", + "object_id": "UMLS:C0240035", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "CHEMBL.TARGET:CHEMBL2095182", + "object_id": "CHEBI:177512", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "stability" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Protein", + "object_category": "biolink:SmallMolecule", + "predicate": "biolink:causes", + "subject_id": "PR:000004191", + "object_id": "PUBCHEM.COMPOUND:6477182", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -21715,6 +21746,40 @@ } ] }, + { + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:ChemicalEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0677040", + "object_id": "CHEBI:8027", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Behavior", + "predicate": "biolink:causes", + "subject_id": "MESH:D000086942", + "object_id": "UMLS:C0870509", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:Cohort", "object_category": "biolink:Drug", @@ -21750,19 +21815,19 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Behavior", + "subject_category": "biolink:Food", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0870509", + "subject_id": "UMLS:C0078479", + "object_id": "UMLS:C0872084", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -21783,6 +21848,23 @@ } ] }, + { + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0598962", + "object_id": "UMLS:C0003289", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:Behavior", @@ -21932,7 +22014,7 @@ "subject_category": "biolink:Cell", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007600", + "subject_id": "CL:0000084", "object_id": "MESH:D000086942", "qualifiers": [ { @@ -21966,8 +22048,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:453626", - "object_id": "MESH:D000086942", + "subject_id": "CHEBI:30251", + "object_id": "UMLS:C1520263", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -21983,8 +22065,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "UMLS:C1520988", + "subject_id": "UMLS:C0001271", + "object_id": "MESH:D011992", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -22082,15 +22164,15 @@ ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Disease", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907589", - "object_id": "CHEMBL.COMPOUND:CHEMBL3707250", + "subject_id": "UMLS:C0021167", + "object_id": "UBERON:0004590", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -22099,11 +22181,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0021167", - "object_id": "UBERON:0004590", + "subject_id": "UMLS:C0015919", + "object_id": "MONDO:0005271", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -22149,40 +22231,6 @@ } ] }, - { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:Disease", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "MONDO:0005271", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:ChemicalEntity", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2094111", - "object_id": "CHEMBL.COMPOUND:CHEMBL1201454", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Publication", @@ -22252,15 +22300,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Protein", + "subject_category": "biolink:GeneFamily", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2217", - "object_id": "UNII:961YV2O515", + "subject_id": "CHEMBL.TARGET:CHEMBL2363062", + "object_id": "UNII:2ZT81PV5UM", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -22268,23 +22316,6 @@ } ] }, - { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:SmallMolecule", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2111464", - "object_id": "CHEBI:177512", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Gene", "object_category": "biolink:SmallMolecule", @@ -22319,26 +22350,9 @@ } ] }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0019868", - "object_id": "UNII:D7RD81HE4W", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:GeneFamily", - "object_category": "biolink:ChemicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", "subject_id": "CHEMBL.TARGET:CHEMBL2095181", "object_id": "UNII:7GDW9S3GN3", @@ -22355,32 +22369,15 @@ }, { "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:Protein", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL1907598", - "object_id": "UNII:8202AY8I7H", + "subject_id": "CHEMBL.TARGET:CHEMBL3831282", + "object_id": "UNII:4S0HBYW6QE", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364181", - "object_id": "UNII:X8R2D92QP1", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -22388,58 +22385,32 @@ ] }, { - "subject_category": "biolink:GeneFamily", - "object_category": "biolink:Protein", + "subject_category": "biolink:Pathway", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364696", - "object_id": "UNII:UY9LQ8P6HW", + "subject_id": "GO:0000075", + "object_id": "GO:0044770", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:6616", - "object_id": "CHEMBL.COMPOUND:CHEMBL3707322", + "subject_id": "GO:0005634", + "object_id": "GO:0000280", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "degradation" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "GO:0000104", - "object_id": "GO:1904231", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "GO:0000104", - "object_id": "GO:1904230", - "qualifiers": [ + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, @@ -22447,8 +22418,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0178587", + "subject_id": "UMLS:C0001060", + "object_id": "UMLS:C0806909", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -22498,8 +22469,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0175895", + "subject_id": "CHV:0000038439", + "object_id": "UMLS:C0178587", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -22512,71 +22483,49 @@ ] }, { - "subject_category": "biolink:Pathway", + "subject_category": "biolink:Protein", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0000075", - "object_id": "GO:1901977", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0162404", - "object_id": "UMLS:C4235467", + "subject_id": "UMLS:C0002520", + "object_id": "GO:0010252", "qualifiers": [ { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0162404", - "object_id": "UMLS:C4235468", - "qualifiers": [ + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Pathway", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0000075", - "object_id": "GO:1901978", + "subject_id": "GO:0000104", + "object_id": "GO:1904230", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "GO:0005634", - "object_id": "GO:0000280", + "subject_id": "CHEBI:71226", + "object_id": "GO:0009279", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -22618,8 +22567,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "SMPDB:SMP0063813", + "subject_id": "UMLS:C0001271", + "object_id": "SMPDB:SMP0000477", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -22635,7 +22584,7 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "CHEBI:27732", + "subject_id": "CHEBI:25016", "object_id": "GO:0000077", "qualifiers": [ { @@ -22675,15 +22624,28 @@ ] }, { - "subject_category": "biolink:NamedThing", + "subject_category": "biolink:Pathway", + "object_category": "biolink:Pathway", + "predicate": "biolink:causes", + "subject_id": "GO:0000165", + "object_id": "GO:0090080", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D055550", - "object_id": "GO:0031648", + "subject_id": "GO:0000104", + "object_id": "GO:1904231", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, @@ -22701,11 +22663,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UniProtKB:P0DMV8", - "object_id": "REACT:R-HSA-192746", + "subject_id": "GO:0000709", + "object_id": "UMLS:C2755867", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -22739,6 +22701,19 @@ } ] }, + { + "subject_category": "biolink:Protein", + "object_category": "biolink:MolecularActivity", + "predicate": "biolink:causes", + "subject_id": "UniProtKB:P0DMV8", + "object_id": "REACT:R-HSA-192746", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, { "subject_category": "biolink:Disease", "object_category": "biolink:BiologicalProcess", @@ -22757,10 +22732,10 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033684", + "subject_id": "MESH:C019760", "object_id": "GO:0006401", "qualifiers": [ { @@ -22791,10 +22766,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:C019760", + "subject_id": "CHV:0000021208", "object_id": "GO:0006401", "qualifiers": [ { @@ -22808,10 +22783,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:71306834", + "subject_id": "UNII:43K1W2T1M6", "object_id": "GO:0006401", "qualifiers": [ { @@ -22825,19 +22800,15 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:NamedThing", "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:168009910", - "object_id": "GO:0006757", + "subject_id": "MESH:D055550", + "object_id": "GO:0031648", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, @@ -22845,21 +22816,21 @@ "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0000709", - "object_id": "UMLS:C2755867", + "subject_id": "GO:0000336", + "object_id": "UMLS:C1817270", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Disease", "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0001514", - "object_id": "UMLS:C4235960", + "subject_id": "MONDO:0000837", + "object_id": "UMLS:C1160588", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -22868,19 +22839,28 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:134129842", - "object_id": "GO:0009279", + "subject_id": "UMLS:C0162404", + "object_id": "UMLS:C4235467", "qualifiers": [ { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:MolecularActivity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0162404", + "object_id": "UMLS:C4235468", + "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, @@ -22915,11 +22895,11 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Pathway", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0027540", - "object_id": "GO:0010940", + "subject_id": "GO:0086095", + "object_id": "GO:0015467", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -22927,19 +22907,6 @@ } ] }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:10019", - "object_id": "GO:0035162", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, { "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:BiologicalProcess", @@ -22968,10 +22935,10 @@ }, { "subject_category": "biolink:Gene", - "object_category": "biolink:Pathway", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:4208", - "object_id": "GO:0098989", + "subject_id": "NCBIGene:10019", + "object_id": "GO:0035162", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -22996,158 +22963,22 @@ "subject_category": "biolink:Gene", "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10019", - "object_id": "GO:0038163", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "CHEBI:15428", - "object_id": "GO:0039703", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Disease", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "MONDO:0002459", - "object_id": "UMLS:C1326508", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, - { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "NCBIGene:10216", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Pathway", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "GO:0000077", - "object_id": "NCBIGene:11073", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "MESH:D008925", - "object_id": "NCBIGene:3497", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UBERON:0001236", - "object_id": "NCBIGene:1029", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "HGNC:39025", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0012872", - "object_id": "NCBIGene:10524", + "subject_id": "NCBIGene:4208", + "object_id": "GO:0098989", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:Gene", + "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017654", - "object_id": "NCBIGene:472", + "subject_id": "NCBIGene:10019", + "object_id": "GO:0038163", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "decreased" @@ -23155,11 +22986,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:Gene", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:BiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0443611", - "object_id": "NCBIGene:4240", + "subject_id": "CHEBI:15428", + "object_id": "GO:0039703", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23167,16 +22998,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Gene", + "subject_category": "biolink:Disease", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "GO:0035162", - "object_id": "NCBIGene:10019", + "subject_id": "MONDO:0000837", + "object_id": "UMLS:C1160587", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -23185,28 +23016,24 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Gene", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "NCBIGene:1109", + "subject_id": "GO:0015467", + "object_id": "GO:0086095", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:ChemicalMixture", + "subject_category": "biolink:PhysicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "NCBIGene:19", + "subject_id": "UMLS:C0015919", + "object_id": "NCBIGene:10777", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23214,50 +23041,54 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Cell", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C1511997", - "object_id": "NCBIGene:10413", + "subject_id": "UMLS:C0443611", + "object_id": "NCBIGene:4240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:ChemicalMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0006486", - "object_id": "NCBIGene:9528", + "subject_id": "CHEBI:25614", + "object_id": "NCBIGene:19", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ChemicalMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:121493436", - "object_id": "NCBIGene:7276", + "subject_id": "CHEBI:25614", + "object_id": "HGNC:12696", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23266,11 +23097,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UNII:0A6JH35GMQ", - "object_id": "NCBIGene:6616", + "subject_id": "UMLS:C0005938", + "object_id": "NCBIGene:10216", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23278,20 +23109,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11029", - "object_id": "NCBIGene:116443", + "subject_id": "UBERON:0008826", + "object_id": "NCBIGene:1109", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23317,28 +23148,28 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:IndividualOrganism", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UNII:961YV2O515", - "object_id": "NCBIGene:2217", + "subject_id": "UMLS:C0677040", + "object_id": "NCBIGene:1026", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:IndividualOrganism", + "subject_category": "biolink:Gene", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "NCBIGene:1806", + "subject_id": "NCBIGene:1154", + "object_id": "UMLS:C0314621", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23354,25 +23185,21 @@ "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0006401", - "object_id": "NCBIGene:10045", + "subject_id": "GO:0035162", + "object_id": "NCBIGene:10019", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "MONDO:0008000", - "object_id": "NCBIGene:114548", + "subject_id": "MESH:D000086942", + "object_id": "HGNC:39025", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23380,33 +23207,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Device", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "HGNC:12696", + "subject_id": "UMLS:C0450138", + "object_id": "NCBIGene:7040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Publication", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "NCBIGene:10653", + "subject_id": "UMLS:C0017654", + "object_id": "NCBIGene:472", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23414,16 +23241,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysicalEntity", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "NCBIGene:10777", + "subject_id": "MESH:D008925", + "object_id": "NCBIGene:3497", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23452,12 +23279,12 @@ "subject_category": "biolink:Pathway", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0019722", - "object_id": "NCBIGene:2769", + "subject_id": "GO:0000077", + "object_id": "NCBIGene:11073", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23466,15 +23293,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:132233", - "object_id": "NCBIGene:6530", + "subject_id": "UMLS:C1511997", + "object_id": "NCBIGene:10413", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23483,41 +23310,24 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Gene", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL3707322", - "object_id": "NCBIGene:6616", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:64317", - "object_id": "NCBIGene:6647", + "subject_id": "GO:0006486", + "object_id": "NCBIGene:9528", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:IndividualOrganism", + "subject_category": "biolink:Disease", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "NCBIGene:1026", + "subject_id": "MONDO:0000837", + "object_id": "NCBIGene:796", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23525,16 +23335,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1154", - "object_id": "UMLS:C0314621", + "subject_id": "CHEBI:3160", + "object_id": "NCBIGene:6616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23542,16 +23352,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0450138", - "object_id": "NCBIGene:7040", + "subject_id": "UMLS:C0012872", + "object_id": "NCBIGene:10524", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23564,11 +23374,11 @@ ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:Publication", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0058928", - "object_id": "NCBIGene:9308", + "subject_id": "UMLS:C0599740", + "object_id": "NCBIGene:10653", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23581,15 +23391,15 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C1115729", - "object_id": "NCBIGene:2357", + "subject_id": "CHEBI:135925", + "object_id": "NCBIGene:6530", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23598,15 +23408,15 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005456", - "object_id": "UMLS:C0314621", + "subject_id": "CHEBI:51063", + "object_id": "NCBIGene:6530", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23615,28 +23425,28 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:15365", - "object_id": "NCBIGene:4609", + "subject_id": "CHEMBL.COMPOUND:CHEMBL3707322", + "object_id": "NCBIGene:6616", "qualifiers": [ { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" } ] }, { - "subject_category": "biolink:NamedThing", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "NCBIGene:2272", + "subject_id": "CHEBI:31453", + "object_id": "NCBIGene:6647", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23645,24 +23455,28 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Pathway", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:10125", - "object_id": "NCBIGene:2554", + "subject_id": "GO:0019722", + "object_id": "NCBIGene:2769", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UBERON:0002481", - "object_id": "NCBIGene:5290", + "subject_id": "GO:0006401", + "object_id": "NCBIGene:10045", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23670,20 +23484,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:Procedure", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:24424", - "object_id": "NCBIGene:117159", + "subject_id": "UMLS:C0058928", + "object_id": "NCBIGene:9308", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23692,28 +23506,32 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", + "subject_category": "biolink:Protein", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "REACT:R-HSA-9825751", - "object_id": "NCBIGene:23411", + "subject_id": "UMLS:C0005456", + "object_id": "UMLS:C0314621", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:50114", - "object_id": "UMLS:C0314614", + "subject_id": "UMLS:C1115729", + "object_id": "NCBIGene:2357", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23722,50 +23540,58 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL3545206", - "object_id": "NCBIGene:5027", + "subject_id": "CHEBI:145499", + "object_id": "NCBIGene:116443", "qualifiers": [ { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:IndividualOrganism", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:193860", - "object_id": "NCBIGene:5553", + "subject_id": "UMLS:C0677040", + "object_id": "NCBIGene:1806", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:NamedThing", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:64312", - "object_id": "NCBIGene:116443", + "subject_id": "CHV:0000042589", + "object_id": "NCBIGene:2272", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL2108287", - "object_id": "NCBIGene:5578", + "subject_id": "UNII:0IEO0F56LV", + "object_id": "NCBIGene:7276", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23778,15 +23604,15 @@ ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017191", - "object_id": "NCBIGene:56477", + "subject_id": "CHEMBL.COMPOUND:CHEMBL2108287", + "object_id": "NCBIGene:5578", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23798,16 +23624,12 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:176399", - "object_id": "NCBIGene:255738", + "subject_id": "CHEBI:10125", + "object_id": "NCBIGene:2554", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "activity" } ] }, @@ -23829,15 +23651,15 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238686", - "object_id": "NCBIGene:2532", + "subject_id": "CHEMBL.COMPOUND:CHEMBL4650434", + "object_id": "NCBIGene:133", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23846,32 +23668,36 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL4650434", - "object_id": "NCBIGene:133", + "subject_id": "UBERON:0002481", + "object_id": "NCBIGene:5290", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Pathway", + "subject_category": "biolink:GrossAnatomicalStructure", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "GO:0038163", - "object_id": "NCBIGene:10019", + "subject_id": "UBERON:0006907", + "object_id": "NCBIGene:27", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -23879,25 +23705,25 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:31947", - "object_id": "NCBIGene:2520", + "subject_id": "UNII:86Q357L16B", + "object_id": "NCBIGene:117159", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "synthesis" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Publication", + "subject_category": "biolink:PopulationOfIndividualOrganisms", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C1301821", - "object_id": "NCBIGene:2168", + "subject_id": "UMLS:C0238686", + "object_id": "NCBIGene:2532", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -23910,32 +23736,32 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "RXCUI:1441688", - "object_id": "NCBIGene:2243", + "subject_id": "CHEBI:50114", + "object_id": "UMLS:C0314614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:21850", - "object_id": "NCBIGene:5139", + "subject_id": "CHEMBL.COMPOUND:CHEMBL3545221", + "object_id": "NCBIGene:729230", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "activity" } ] }, @@ -23943,46 +23769,38 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:25567", - "object_id": "NCBIGene:3043", + "subject_id": "CHEBI:193860", + "object_id": "NCBIGene:5553", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "molecular_modification" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "degradation" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:453626", - "object_id": "NCBIGene:545", + "subject_id": "CHEBI:64312", + "object_id": "NCBIGene:116443", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Disease", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C4552608", - "object_id": "MONDO:0005044", + "subject_id": "CHEBI:176399", + "object_id": "NCBIGene:255738", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "expression" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -23991,28 +23809,24 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "HGNC:12529", - "object_id": "UMLS:C0806909", + "subject_id": "CHEBI:4667", + "object_id": "NCBIGene:29126", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:132952", - "object_id": "UMLS:C0017654", + "subject_id": "UMLS:C0017191", + "object_id": "NCBIGene:56477", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24025,33 +23839,25 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "UMLS:C0449238", + "subject_id": "CHEBI:6078", + "object_id": "NCBIGene:1139", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Pathway", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C0449238", + "subject_id": "GO:0038163", + "object_id": "NCBIGene:10019", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "decreased" @@ -24059,32 +23865,32 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:Protein", + "subject_category": "biolink:Publication", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "UMLS:C0030956", + "subject_id": "UMLS:C1301821", + "object_id": "NCBIGene:2168", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "MESH:D013482", + "subject_id": "CHEBI:31947", + "object_id": "NCBIGene:2520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "synthesis" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24093,15 +23899,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C0806909", + "subject_id": "CHEBI:25567", + "object_id": "NCBIGene:3043", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "molecular_modification" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24110,15 +23916,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100188830", - "object_id": "UMLS:C0080129", + "subject_id": "UMLS:C0003618", + "object_id": "UMLS:C0039795", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24127,10 +23933,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Gene", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10313163", + "subject_id": "HGNC:12529", "object_id": "UMLS:C0806909", "qualifiers": [ { @@ -24161,15 +23967,28 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003618", - "object_id": "UMLS:C0039795", + "subject_id": "DRUGBANK:DB00030", + "object_id": "NCBIGene:4856", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Gene", + "predicate": "biolink:causes", + "subject_id": "CHEBI:31453", + "object_id": "UMLS:C0314621", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24178,11 +23997,11 @@ ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:Procedure", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D055432", - "object_id": "UMLS:C0023690", + "subject_id": "CHEBI:132952", + "object_id": "UMLS:C0017654", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24190,16 +24009,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Procedure", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005612", - "object_id": "UMLS:C0087111", + "subject_id": "CHEBI:100246", + "object_id": "UMLS:C0017654", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24207,16 +24026,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Device", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:23405", - "object_id": "UMLS:C1552216", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0178587", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24229,45 +24048,45 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Drug", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16247", - "object_id": "UMLS:C0426688", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "UMLS:C0026687", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C0030956", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100381270", - "object_id": "UMLS:C0543421", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24275,15 +24094,15 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:Gene", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", + "subject_id": "NCBIGene:100381270", "object_id": "UMLS:C0543421", "qualifiers": [ { @@ -24297,11 +24116,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:16247", - "object_id": "UMLS:C0034917", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24314,10 +24133,10 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", + "subject_id": "CHEBI:16247", "object_id": "UMLS:C0034917", "qualifiers": [ { @@ -24331,11 +24150,11 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:26125", - "object_id": "UMLS:C0543421", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24374,45 +24193,45 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Disease", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MONDO:0005468", + "subject_id": "UMLS:C0086908", + "object_id": "UMLS:C0162806", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0718215", - "object_id": "HP:0100678", + "subject_id": "CHEBI:133354", + "object_id": "UMLS:C1510470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D009154", - "object_id": "HP:0045047", + "subject_id": "CHEBI:135590", + "object_id": "UMLS:C0026687", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24425,11 +24244,28 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017952", - "object_id": "UMLS:C0034917", + "subject_id": "CHEBI:10033", + "object_id": "UMLS:C0871470", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:NamedThing", + "object_category": "biolink:Procedure", + "predicate": "biolink:causes", + "subject_id": "NCIT:C49019", + "object_id": "UMLS:C0023690", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24442,11 +24278,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", - "object_id": "UMLS:C0034917", + "subject_id": "UMLS:C0005612", + "object_id": "UMLS:C0087111", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24459,11 +24295,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Gene", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010423", - "object_id": "HP:0045047", + "subject_id": "NCBIGene:23405", + "object_id": "UMLS:C1552216", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24476,11 +24312,28 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "UMLS:C4552608", + "object_id": "MONDO:0005044", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0205082", - "object_id": "HP:0045047", + "subject_id": "UMLS:C0005938", + "object_id": "HP:0000938", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24493,11 +24346,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2489", - "object_id": "UMLS:C0543421", + "subject_id": "UBERON:0008826", + "object_id": "MONDO:0005468", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24510,11 +24363,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Disease", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1555", - "object_id": "UMLS:C0687133", + "subject_id": "UMLS:C0017952", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24527,15 +24380,15 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Disease", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", - "object_id": "MONDO:0020724", + "subject_id": "CHV:0000055769", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24544,11 +24397,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Disease", + "subject_category": "biolink:Cell", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "CHEBI:26523", - "object_id": "MONDO:0020724", + "subject_id": "CL:0000084", + "object_id": "HP:0045047", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24561,15 +24414,15 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Disease", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010798", - "object_id": "UMLS:C0687133", + "subject_id": "UMLS:C0010423", + "object_id": "HP:0045047", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24578,15 +24431,15 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Disease", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0031715", - "object_id": "MONDO:0020724", + "subject_id": "UMLS:C0205082", + "object_id": "HP:0045047", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24595,11 +24448,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Disease", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "NCBIGene:114548", - "object_id": "MONDO:0008000", + "subject_id": "UMLS:C0718215", + "object_id": "HP:0100678", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24612,11 +24465,11 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "HGNC:39022", - "object_id": "UMLS:C1515672", + "subject_id": "CHEBI:24870", + "object_id": "UMLS:C1373120", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24629,11 +24482,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Gene", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10033", - "object_id": "UMLS:C1373124", + "subject_id": "HGNC:39022", + "object_id": "UMLS:C1515672", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24646,11 +24499,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:24870", - "object_id": "UMLS:C1373120", + "subject_id": "CHEBI:10033", + "object_id": "UMLS:C1373124", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24700,7 +24553,7 @@ "subject_category": "biolink:Protein", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", + "subject_id": "UMLS:C0003438", "object_id": "UMLS:C1373124", "qualifiers": [ { @@ -24751,8 +24604,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:168009821", - "object_id": "UMLS:C1515672", + "subject_id": "CHEBI:17833", + "object_id": "UMLS:C1373040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24765,28 +24618,28 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Cell", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C1373040", + "subject_id": "CL:0000023", + "object_id": "UMLS:C1373111", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C0597832", + "subject_id": "UMLS:C0025513", + "object_id": "UMLS:C0279023", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24794,7 +24647,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -24816,19 +24669,53 @@ ] }, { - "subject_category": "biolink:Cell", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004561", - "object_id": "UMLS:C1515672", + "subject_id": "UMLS:C0012929", + "object_id": "UMLS:C1373111", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Drug", + "object_category": "biolink:MolecularActivity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0003280", + "object_id": "UMLS:C1373140", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0949469", + "object_id": "UMLS:C1443643", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" } ] }, @@ -24849,11 +24736,28 @@ } ] }, + { + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:MolecularActivity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0752046", + "object_id": "UMLS:C1515672", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:Cell", "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0225828", + "subject_id": "CL:0000746", "object_id": "UMLS:C0675244", "qualifiers": [ { @@ -24867,11 +24771,28 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0025513", - "object_id": "UMLS:C0279023", + "subject_id": "UMLS:C0009928", + "object_id": "UMLS:C0003921", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Activity", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0237820", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24884,11 +24805,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0752046", - "object_id": "UMLS:C1515672", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0001637", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24896,16 +24817,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0871470", - "object_id": "UMLS:C0023823", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C0003402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -24913,20 +24834,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:InformationContentEntity", "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0008813", + "subject_id": "UMLS:C0449238", "object_id": "UMLS:C0023823", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -24985,6 +24906,23 @@ } ] }, + { + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Polypeptide", + "predicate": "biolink:causes", + "subject_id": "MESH:D010578", + "object_id": "UMLS:C0012933", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:ChemicalEntity", @@ -25036,23 +24974,6 @@ } ] }, - { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "PUBCHEM.COMPOUND:14228836", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:PopulationOfIndividualOrganisms", @@ -25071,11 +24992,11 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "UMLS:C0205160", - "object_id": "PUBCHEM.COMPOUND:168266306", + "subject_id": "CHEBI:30251", + "object_id": "UMLS:C0238884", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25087,40 +25008,6 @@ } ] }, - { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "PUBCHEM.COMPOUND:6096946", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "NCBITaxon:5052", - "object_id": "PUBCHEM.COMPOUND:76957227", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:ChemicalEntity", @@ -25138,23 +25025,6 @@ } ] }, - { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:MolecularMixture", - "predicate": "biolink:causes", - "subject_id": "GO:0009279", - "object_id": "PUBCHEM.COMPOUND:134129842", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:Gene", "object_category": "biolink:Procedure", @@ -25173,10 +25043,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:24261", + "subject_id": "CHEBI:135864", "object_id": "MESH:C510163", "qualifiers": [ { @@ -25190,10 +25060,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "RXCUI:1596453", + "subject_id": "CHEBI:24261", "object_id": "MESH:C510163", "qualifiers": [ { @@ -25207,10 +25077,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Drug", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:23663977", + "subject_id": "RXCUI:1596453", "object_id": "MESH:C510163", "qualifiers": [ { @@ -25292,15 +25162,15 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Gene", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "UMLS:C0030012", + "subject_id": "NCBIGene:1555", + "object_id": "UMLS:C0687133", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25309,15 +25179,15 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238711", - "object_id": "UMLS:C0242402", + "subject_id": "CHEBI:137694", + "object_id": "MONDO:0020724", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25326,15 +25196,15 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "CHEBI:60027", - "object_id": "MESH:D021982", + "subject_id": "CHEBI:26523", + "object_id": "MONDO:0020724", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25343,15 +25213,15 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Protein", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599946", - "object_id": "UMLS:C0001272", + "subject_id": "UMLS:C0010762", + "object_id": "UMLS:C0687133", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25360,11 +25230,11 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "GO:0006757", - "object_id": "PUBCHEM.COMPOUND:168009910", + "subject_id": "UMLS:C0031715", + "object_id": "MONDO:0020724", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25377,11 +25247,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Gene", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0017127", - "object_id": "UMLS:C0001060", + "subject_id": "NCBIGene:114548", + "object_id": "MONDO:0008000", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25394,11 +25264,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "UMLS:C0001413", + "subject_id": "GO:0006308", + "object_id": "UMLS:C0019054", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25411,15 +25281,15 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Disease", + "subject_category": "biolink:Drug", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "GO:0006308", - "object_id": "UMLS:C0019054", + "subject_id": "UMLS:C1443643", + "object_id": "UMLS:C0019868", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25428,15 +25298,32 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004793", - "object_id": "UMLS:C0012872", + "subject_id": "UMLS:C0908045", + "object_id": "UMLS:C0019868", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:Activity", + "object_category": "biolink:Phenomenon", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0035028", + "object_id": "UMLS:C0019868", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25462,10 +25349,10 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "CHEBI:15552", + "subject_id": "CHEBI:17087", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25496,10 +25383,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Drug", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "CHEBI:17087", + "subject_id": "UMLS:C0003286", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25513,10 +25400,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "UMLS:C0003286", + "subject_id": "CHEBI:15552", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25530,10 +25417,10 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", + "subject_id": "CHEBI:4462", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25542,7 +25429,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -25564,10 +25451,10 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:Protein", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10013", + "subject_id": "UMLS:C0002272", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25581,10 +25468,10 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Gene", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "CHEBI:15627", + "subject_id": "NCBIGene:10013", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25598,10 +25485,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11560225", + "subject_id": "CHEBI:15627", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25615,10 +25502,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:9887054", + "subject_id": "CHEBI:137694", "object_id": "UMLS:C0599740", "qualifiers": [ { @@ -25700,45 +25587,45 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Publication", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C0599740", + "subject_id": "CHEBI:24261", + "object_id": "UMLS:C0079686", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Publication", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "NCBIGene:57762", - "object_id": "UMLS:C0599740", + "subject_id": "CHEBI:15367", + "object_id": "UMLS:C0079686", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Activity", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033213", - "object_id": "UMLS:C3827014", + "subject_id": "UMLS:C0599946", + "object_id": "UMLS:C0001272", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25785,28 +25672,28 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Publication", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0079925", + "subject_id": "UMLS:C1301821", + "object_id": "UMLS:C0002763", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0043076", - "object_id": "UMLS:C0600680", + "subject_id": "UMLS:C0597423", + "object_id": "UMLS:C0003072", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25820,10 +25707,10 @@ }, { "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Polypeptide", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1167395", - "object_id": "UMLS:C0001060", + "subject_id": "UMLS:C0718215", + "object_id": "UMLS:C1709375", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25836,11 +25723,11 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Event", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "UMLS:C0012924", + "subject_id": "UMLS:C0040537", + "object_id": "MESH:D000936", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25853,28 +25740,28 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005938", - "object_id": "UMLS:C1101610", + "subject_id": "UMLS:C0031911", + "object_id": "UMLS:C0003448", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1515508", - "object_id": "UMLS:C0600680", + "subject_id": "CHEBI:52492", + "object_id": "NCBITaxon:5052", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25887,11 +25774,28 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Device", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "CHEBI:24261", - "object_id": "UMLS:C0079686", + "subject_id": "UMLS:C0115137", + "object_id": "MONDO:0000837", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:NucleicAcidEntity", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0012872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25904,10 +25808,27 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Device", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0806909", + "object_id": "UMLS:C0037111", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEBI:15367", + "subject_id": "CHEBI:4462", "object_id": "UMLS:C0079686", "qualifiers": [ { @@ -25921,15 +25842,15 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", + "subject_category": "biolink:PopulationOfIndividualOrganisms", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "MESH:D000110", + "subject_id": "UMLS:C0238711", + "object_id": "UMLS:C0242402", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -25938,28 +25859,28 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C4748586", - "object_id": "UMLS:C0001060", + "subject_id": "CHEBI:60027", + "object_id": "MESH:D021982", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MONDO:0002050", - "object_id": "UMLS:C0001060", + "subject_id": "UMLS:C1099354", + "object_id": "MESH:D008925", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25972,11 +25893,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:NamedThing", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "MESH:D015164", - "object_id": "UMLS:C0001060", + "subject_id": "UMLS:C0185624", + "object_id": "UMLS:C0026649", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -25989,11 +25910,11 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Procedure", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C1160534", - "object_id": "UMLS:C0001413", + "subject_id": "UMLS:C0032042", + "object_id": "UMLS:C0027880", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26006,15 +25927,15 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:Drug", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C1301821", - "object_id": "UMLS:C0002763", + "subject_id": "UMLS:C3541329", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26023,11 +25944,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:Device", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597423", - "object_id": "UMLS:C0003072", + "subject_id": "UMLS:C1517336", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26035,20 +25956,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0718215", - "object_id": "UMLS:C1709375", + "subject_id": "UMLS:C0009630", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26057,15 +25978,15 @@ ] }, { - "subject_category": "biolink:Event", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0040537", - "object_id": "MESH:D000936", + "subject_id": "NCBIGene:19", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26074,11 +25995,11 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Drug", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0031911", - "object_id": "UMLS:C0003448", + "subject_id": "UMLS:C0079160", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26091,11 +26012,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:76957227", - "object_id": "NCBITaxon:5052", + "subject_id": "UMLS:C0232407", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26108,11 +26029,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Protein", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0162326", - "object_id": "MESH:D020077", + "subject_id": "UMLS:C0016006", + "object_id": "CHEBI:61452", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26125,28 +26046,28 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "UMLS:C0006556", + "subject_id": "CHEBI:142437", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012931", - "object_id": "UMLS:C1511997", + "subject_id": "HP:0001945", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26159,11 +26080,11 @@ ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Disease", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "UMLS:C0012939", + "subject_id": "MONDO:0002459", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26176,15 +26097,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Disease", + "subject_category": "biolink:Cell", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C0687133", + "subject_id": "CL:0000084", + "object_id": "CHEBI:25614", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26193,11 +26114,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:Protein", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:453626", - "object_id": "UMLS:C0002198", + "subject_id": "CHEBI:25614", + "object_id": "UMLS:C0030012", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26210,15 +26131,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Protein", + "subject_category": "biolink:Drug", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012872", - "object_id": "UMLS:C0080065", + "subject_id": "UMLS:C0013227", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26227,11 +26148,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Drug", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020964", - "object_id": "UMLS:C0919262", + "subject_id": "UMLS:C0013227", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26239,16 +26160,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "UMLS:C0079925", + "subject_id": "CHEBI:5781", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26256,37 +26177,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Polypeptide", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0079925", + "subject_id": "UMLS:C1304649", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C1443643", - "object_id": "UMLS:C0019868", + "subject_id": "UBERON:0000043", + "object_id": "CHEBI:60160", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26295,11 +26216,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Device", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0908045", - "object_id": "UMLS:C0019868", + "subject_id": "UMLS:C0699612", + "object_id": "CHEBI:61452", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26313,14 +26234,14 @@ }, { "subject_category": "biolink:Activity", - "object_category": "biolink:Phenomenon", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C0035028", - "object_id": "UMLS:C0019868", + "subject_id": "UMLS:C0599946", + "object_id": "CHEBI:61452", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26329,11 +26250,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Device", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UNII:D7RD81HE4W", - "object_id": "UMLS:C0019868", + "subject_id": "UMLS:C0032616", + "object_id": "CHEBI:61452", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26341,16 +26262,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:ChemicalMixture", "predicate": "biolink:causes", - "subject_id": "UMLS:C1099354", - "object_id": "MESH:D008925", + "subject_id": "MESH:D010578", + "object_id": "CHEBI:61452", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26363,11 +26284,11 @@ ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0185624", - "object_id": "UMLS:C0026649", + "subject_id": "CHEBI:61452", + "object_id": "UMLS:C0032616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26375,46 +26296,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Disease", - "predicate": "biolink:causes", - "subject_id": "GO:0010940", - "object_id": "UMLS:C0027540", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:Procedure", - "object_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032042", - "object_id": "UMLS:C0027880", + "subject_id": "GO:0010467", + "object_id": "UMLS:C0032616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C3541329", - "object_id": "CHEBI:25614", + "subject_id": "MESH:D000077215", + "object_id": "UMLS:C0032616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26427,11 +26335,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C1517336", - "object_id": "CHEBI:25614", + "subject_id": "MESH:D010578", + "object_id": "UMLS:C0032616", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26439,20 +26347,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Device", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009630", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0115137", + "object_id": "UMLS:C0032942", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26461,11 +26369,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Publication", "predicate": "biolink:causes", - "subject_id": "NCBIGene:19", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0011065", + "object_id": "UMLS:C0033081", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26478,11 +26386,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0079160", - "object_id": "CHEBI:25614", + "subject_id": "CHEBI:133354", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26490,16 +26398,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0232407", - "object_id": "CHEBI:60160", + "subject_id": "UMLS:C0001271", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26507,16 +26415,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", - "object_id": "CHEBI:60160", + "subject_id": "CHEBI:10432", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26524,16 +26432,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:142437", - "object_id": "CHEBI:25614", + "subject_id": "MESH:D000077215", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26541,20 +26449,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "HP:0001945", - "object_id": "CHEBI:60160", + "subject_id": "UMLS:C0005615", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26563,15 +26471,15 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Drug", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MONDO:0002459", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0001637", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26580,28 +26488,28 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0016030", - "object_id": "CHEBI:61452", + "subject_id": "HP:0001945", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "CHEBI:25614", + "subject_id": "UMLS:C0449238", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26609,16 +26517,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D011095", - "object_id": "CHEBI:25614", + "subject_id": "CHEBI:16247", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26631,11 +26539,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:Protein", + "subject_category": "biolink:Gene", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0002481", - "object_id": "UMLS:C0033684", + "subject_id": "NCBIGene:1109", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26648,62 +26556,62 @@ ] }, { - "subject_category": "biolink:IndividualOrganism", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0677040", - "object_id": "PUBCHEM.COMPOUND:7886", + "subject_id": "UMLS:C1705143", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Protein", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1304649", - "object_id": "CHEBI:60160", + "subject_id": "UMLS:C0001924", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:Drug", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0000043", - "object_id": "CHEBI:60160", + "subject_id": "UMLS:C0003402", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0699612", - "object_id": "CHEBI:61452", + "subject_id": "UMLS:C0004048", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26711,33 +26619,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599946", - "object_id": "CHEBI:61452", + "subject_id": "MESH:D000088502", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:ChemicalMixture", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032616", - "object_id": "CHEBI:61452", + "subject_id": "CHEBI:26710", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26751,10 +26659,10 @@ }, { "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:ChemicalMixture", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D010578", - "object_id": "CHEBI:61452", + "subject_id": "MESH:D000077215", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26767,11 +26675,11 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:Drug", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "MESH:D011095", + "subject_id": "UMLS:C0026687", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26784,11 +26692,11 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:Device", + "subject_category": "biolink:Device", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:61452", - "object_id": "UMLS:C0032616", + "subject_id": "UMLS:C0035191", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26801,32 +26709,32 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Device", + "subject_category": "biolink:Disease", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "GO:0010467", - "object_id": "UMLS:C0032616", + "subject_id": "MONDO:0005468", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Device", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "UMLS:C0032616", + "subject_id": "MESH:D014158", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26835,28 +26743,28 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:Device", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D010578", - "object_id": "UMLS:C0032616", + "subject_id": "UMLS:C0005482", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Behavior", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0115137", - "object_id": "UMLS:C0032942", + "subject_id": "UBERON:0000019", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26869,15 +26777,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Publication", + "subject_category": "biolink:Disease", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0011065", - "object_id": "UMLS:C0033081", + "subject_id": "MONDO:0004995", + "object_id": "UMLS:C0022650", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26886,11 +26794,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:NamedThing", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16412", - "object_id": "UMLS:C1167395", + "subject_id": "NCIT:C49019", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26903,11 +26811,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Behavior", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "MESH:D011387", + "subject_id": "UMLS:C0004268", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26921,10 +26829,10 @@ }, { "subject_category": "biolink:Activity", - "object_category": "biolink:Device", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", "subject_id": "UMLS:C0237820", - "object_id": "UMLS:C0035191", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26937,15 +26845,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL2108479", - "object_id": "PUBCHEM.COMPOUND:159842316", + "subject_id": "UMLS:C0205161", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -26954,11 +26862,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1328924", - "object_id": "UMLS:C0035736", + "subject_id": "UMLS:C0026687", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -26971,28 +26879,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Device", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0806909", - "object_id": "UMLS:C0037111", + "subject_id": "GO:0010467", + "object_id": "UBERON:0008826", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:Activity", + "subject_category": "biolink:Activity", + "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0037680", + "object_id": "UMLS:C0233929", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27005,11 +26913,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Cell", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10432", - "object_id": "UBERON:0008826", + "subject_id": "CL:0000235", + "object_id": "UMLS:C0369078", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27022,10 +26930,10 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", + "subject_id": "UMLS:C0079925", "object_id": "UBERON:0008826", "qualifiers": [ { @@ -27034,20 +26942,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Activity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0237820", + "object_id": "UMLS:C0035191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27056,11 +26964,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:124201532", - "object_id": "UBERON:0008826", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27073,15 +26981,15 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:NamedThing", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0037680", - "object_id": "UMLS:C0233929", + "subject_id": "CHV:0000042589", + "object_id": "UMLS:C0017968", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27090,15 +26998,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005615", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0012872", + "object_id": "UMLS:C0080065", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27107,15 +27015,15 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0024432", - "object_id": "UMLS:C0369078", + "subject_id": "UMLS:C0080129", + "object_id": "UMLS:C1335464", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27124,11 +27032,11 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "UBERON:0008826", + "subject_id": "NCBIGene:27", + "object_id": "UBERON:0006907", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27141,11 +27049,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Protein", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "HP:0001945", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0027100", + "object_id": "UBERON:0006907", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27153,16 +27061,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Food", + "object_category": "biolink:GrossAnatomicalStructure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0078479", + "object_id": "UBERON:0006908", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27170,16 +27078,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "CHEBI:16247", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:16684", + "object_id": "UMLS:C0001884", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27192,11 +27100,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1109", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:72544", + "object_id": "UMLS:C0282515", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27204,16 +27112,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C1705143", - "object_id": "UBERON:0008826", + "subject_id": "UBERON:0006907", + "object_id": "UMLS:C0027100", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27221,33 +27129,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:135923", + "object_id": "PR:000008015", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "CHEBI:34674", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0162326", + "object_id": "MESH:D020077", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27260,11 +27168,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004048", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:4462", + "object_id": "MESH:D020077", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27272,16 +27180,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:D000088502", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0696628", + "object_id": "UMLS:C0061928", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27289,16 +27197,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:122164822", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0013216", + "object_id": "UMLS:C0302295", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27306,67 +27214,59 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "UBERON:0008826", + "subject_id": "MESH:D021982", + "object_id": "UMLS:C1621278", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0026687", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C1516324", + "object_id": "MESH:D021982", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Publication", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0035191", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C1301821", + "object_id": "UMLS:C0166415", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { "subject_category": "biolink:Disease", - "object_category": "biolink:AnatomicalEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "MONDO:0005468", - "object_id": "UBERON:0008826", + "subject_id": "MONDO:0020724", + "object_id": "CHEBI:137694", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27374,16 +27274,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:84565", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:25614", + "object_id": "UMLS:C1517336", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27391,16 +27291,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Food", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007577", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C1572543", + "object_id": "NCIT:C49019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27413,15 +27313,15 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005482", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0023690", + "object_id": "NCIT:C49019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27430,11 +27330,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UBERON:0000019", - "object_id": "UBERON:0008826", + "subject_id": "UBERON:0008826", + "object_id": "NCIT:C49019", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27447,15 +27347,41 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "MONDO:0004995", - "object_id": "UMLS:C0022650", + "subject_id": "GO:0007204", + "object_id": "OBA:0006038", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:NamedThing", + "predicate": "biolink:causes", + "subject_id": "GO:0007042", + "object_id": "OBA:0000091", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Drug", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0318759", + "object_id": "UMLS:C0003280", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27464,15 +27390,15 @@ ] }, { - "subject_category": "biolink:NamedThing", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:AnatomicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D055432", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C1705280", + "object_id": "UBERON:0014374", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27481,32 +27407,32 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004268", - "object_id": "UBERON:0008826", + "subject_id": "NCIT:C35041", + "object_id": "UMLS:C0032042", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0002085", + "object_id": "MESH:D059365", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27515,11 +27441,11 @@ ] }, { - "subject_category": "biolink:DiseaseOrPhenotypicFeature", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0205161", - "object_id": "UBERON:0008826", + "subject_id": "CHEBI:24621", + "object_id": "UMLS:C1511997", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27532,11 +27458,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Gene", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0026687", - "object_id": "UBERON:0008826", + "subject_id": "NCBIGene:10413", + "object_id": "UMLS:C1511997", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27549,28 +27475,28 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "GO:0010467", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0037392", + "object_id": "UMLS:C1330330", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Activity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0079925", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0026606", + "object_id": "UMLS:C0279023", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27578,16 +27504,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Publication", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:907", - "object_id": "UBERON:0008826", + "subject_id": "UMLS:C0033081", + "object_id": "UMLS:C0011065", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27600,28 +27526,28 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "NCBITaxon:1301", + "subject_id": "CHEBI:134044", + "object_id": "UMLS:C0020969", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysicalEntity", + "subject_category": "biolink:BiologicalProcess", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "MESH:D013482", + "subject_id": "GO:0006346", + "object_id": "UniProtKB:Q9BXT5", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27634,32 +27560,32 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:MolecularEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:134044", - "object_id": "UMLS:C0020969", + "subject_id": "CHEMBL.TARGET:CHEMBL2095182", + "object_id": "NCIT:C116748", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Gene", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "MESH:D015164", + "subject_id": "NCBIGene:1544", + "object_id": "UMLS:C1831768", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27668,15 +27594,15 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Cell", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0026606", - "object_id": "UMLS:C0279023", + "subject_id": "CL:0000010", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27685,28 +27611,28 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0080129", - "object_id": "UMLS:C1335464", + "subject_id": "UMLS:C1515464", + "object_id": "UMLS:C1520749", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Disease", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0013216", - "object_id": "UMLS:C0302295", + "subject_id": "UMLS:C1515464", + "object_id": "UMLS:C1521630", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27719,15 +27645,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Procedure", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "CHEBI:26523", - "object_id": "UMLS:C0489482", + "subject_id": "CHEMBL.TARGET:CHEMBL4630576", + "object_id": "CHEMBL.COMPOUND:CHEMBL2103797", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27737,10 +27663,10 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:Procedure", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "MESH:D013482", - "object_id": "UMLS:C0521974", + "subject_id": "UMLS:C0015498", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27753,32 +27679,32 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Procedure", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "NCIT:C35041", - "object_id": "UMLS:C0032042", + "subject_id": "UMLS:C0020964", + "object_id": "UMLS:C0879438", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Disease", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "MESH:D059365", + "subject_id": "MONDO:0004992", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27787,15 +27713,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Cell", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "NCBIGene:4096", - "object_id": "MESH:D059365", + "subject_id": "CL:0000066", + "object_id": "UMLS:C1520405", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27804,11 +27730,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:GrossAnatomicalStructure", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "UBERON:0006908", + "subject_id": "UMLS:C0162326", + "object_id": "UMLS:C1335464", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27821,11 +27747,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "CHEBI:72544", - "object_id": "UMLS:C0282515", + "subject_id": "UMLS:C0600680", + "object_id": "UMLS:C1515508", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27833,20 +27759,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Protein", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "CHEBI:135923", - "object_id": "PR:000008015", + "subject_id": "UMLS:C1510470", + "object_id": "UMLS:C0279023", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27855,15 +27781,15 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1572543", - "object_id": "MESH:D055432", + "subject_id": "UMLS:C0000934", + "object_id": "UMLS:C0279023", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27872,15 +27798,15 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0023690", - "object_id": "MESH:D055432", + "subject_id": "MESH:C103123", + "object_id": "UMLS:C2348756", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -27889,11 +27815,11 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:Gene", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "MESH:D055432", + "subject_id": "NCBIGene:10524", + "object_id": "UMLS:C0012872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27906,37 +27832,45 @@ ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "GO:0007204", - "object_id": "OBA:0006038", + "subject_id": "CHEBI:26523", + "object_id": "UMLS:C0012872", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "GO:0007042", - "object_id": "OBA:0000091", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0350056", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:Protein", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "UMLS:C0061928", + "subject_id": "UMLS:C1134718", + "object_id": "UMLS:C0302600", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27944,42 +27878,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "MESH:D021982", - "object_id": "UMLS:C1621278", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C0243102", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Food", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1516324", - "object_id": "MESH:D021982", + "subject_id": "UMLS:C0597423", + "object_id": "UMLS:C0752046", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D008925", - "object_id": "UMLS:C1099354", + "subject_id": "UMLS:C0034917", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -27987,50 +27929,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:Protein", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1301821", - "object_id": "UMLS:C0166415", + "subject_id": "UMLS:C0543421", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0489482", - "object_id": "UMLS:C1144709", + "subject_id": "UMLS:C0020969", + "object_id": "UMLS:C0162327", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "MONDO:0020724", - "object_id": "PUBCHEM.COMPOUND:11560225", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28043,11 +27985,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "PUBCHEM.COMPOUND:11560225", + "subject_id": "UMLS:C1515672", + "object_id": "UMLS:C0752046", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28060,11 +28002,11 @@ ] }, { - "subject_category": "biolink:ChemicalMixture", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:25614", - "object_id": "UMLS:C1517336", + "subject_id": "NCIT:C36289", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28072,16 +28014,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:Disease", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C1705280", - "object_id": "UBERON:0014374", + "subject_id": "MONDO:0006892", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28089,50 +28031,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "CHEBI:24621", - "object_id": "UMLS:C1511997", + "subject_id": "UMLS:C0023823", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10413", - "object_id": "UMLS:C1511997", + "subject_id": "UMLS:C1704842", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Cell", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033081", - "object_id": "UMLS:C0011065", + "subject_id": "UMLS:C0162326", + "object_id": "UMLS:C0879593", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28140,16 +28082,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "GO:0006346", - "object_id": "UniProtKB:Q9BXT5", + "subject_id": "UMLS:C0009221", + "object_id": "UMLS:C0003319", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28162,11 +28104,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:Cell", + "subject_category": "biolink:ChemicalMixture", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "MESH:D015850", - "object_id": "UMLS:C0879438", + "subject_id": "CHEBI:60160", + "object_id": "UMLS:C0013227", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28179,15 +28121,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Cell", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020964", - "object_id": "UMLS:C0879438", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C1511518", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28196,32 +28138,32 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Cell", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "MONDO:0004992", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C1373149", + "object_id": "UMLS:C0877248", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1544", - "object_id": "UMLS:C1831768", + "subject_id": "UMLS:C1520625", + "object_id": "UMLS:C1519692", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28230,11 +28172,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:CellularComponent", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005821", - "object_id": "UMLS:C0543421", + "subject_id": "UMLS:C1519692", + "object_id": "UMLS:C1520625", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28247,28 +28189,28 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "UMLS:C1515464", - "object_id": "UMLS:C1520749", + "subject_id": "UMLS:C1155876", + "object_id": "SMPDB:SMP0000477", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Drug", + "object_category": "biolink:Pathway", "predicate": "biolink:causes", - "subject_id": "UMLS:C0005773", - "object_id": "UMLS:C1520768", + "subject_id": "UMLS:C0013227", + "object_id": "SMPDB:SMP0063813", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28281,11 +28223,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0600680", - "object_id": "UMLS:C1515508", + "subject_id": "CHEBI:33375", + "object_id": "UMLS:C0523584", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28293,20 +28235,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0162326", - "object_id": "UMLS:C1335464", + "subject_id": "UNII:0IEO0F56LV", + "object_id": "PR:000016801", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28315,15 +28257,15 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Gene", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C1515464", - "object_id": "UMLS:C1521630", + "subject_id": "NCBIGene:1544", + "object_id": "UMLS:C2684108", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28332,15 +28274,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Protein", + "object_category": "biolink:MolecularMixture", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:71306834", - "object_id": "UMLS:C1520698", + "subject_id": "CHEMBL.TARGET:CHEMBL2179", + "object_id": "PUBCHEM.COMPOUND:70697642", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28349,45 +28291,45 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4296221", - "object_id": "CHEMBL.COMPOUND:CHEMBL4594492", + "subject_id": "UMLS:C0054889", + "object_id": "UMLS:C1331418", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "abundance" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:Disease", + "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL4630576", - "object_id": "CHEMBL.COMPOUND:CHEMBL2103797", + "subject_id": "MONDO:0005271", + "object_id": "UMLS:C0015919", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "abundance" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1510470", - "object_id": "UMLS:C0279023", + "subject_id": "UMLS:C0302600", + "object_id": "UMLS:C1134718", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28395,20 +28337,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0000934", - "object_id": "UMLS:C0279023", + "subject_id": "MESH:D008928", + "object_id": "UMLS:C5202641", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28417,11 +28359,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Behavior", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:6104", - "object_id": "UMLS:C3846005", + "subject_id": "UMLS:C0004268", + "object_id": "UMLS:C5202641", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28434,11 +28376,11 @@ ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "UMLS:C0243102", + "subject_id": "UMLS:C0032942", + "object_id": "UMLS:C0115137", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28451,11 +28393,11 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:NamedThing", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10524", - "object_id": "UMLS:C0012872", + "subject_id": "NCIT:C49019", + "object_id": "UMLS:C1572543", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28468,11 +28410,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Event", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "CHEBI:26523", - "object_id": "UMLS:C0012872", + "subject_id": "UMLS:C0574035", + "object_id": "UMLS:C1874451", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28485,15 +28427,15 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Drug", + "subject_category": "biolink:Drug", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:C103123", - "object_id": "UMLS:C2348756", + "subject_id": "RXCUI:196476", + "object_id": "UMLS:C0426731", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28502,28 +28444,28 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Device", + "subject_category": "biolink:Gene", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MONDO:0005594", - "object_id": "UMLS:C0535454", + "subject_id": "HGNC:5756", + "object_id": "UMLS:C0007165", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Device", + "subject_category": "biolink:Drug", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0350056", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0871470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28531,16 +28473,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C1134718", - "object_id": "UMLS:C0302600", + "subject_id": "CHEBI:135590", + "object_id": "UMLS:C1507013", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28553,11 +28495,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597423", - "object_id": "NCBIGene:53369", + "subject_id": "CHEBI:100246", + "object_id": "UMLS:C0026687", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28565,20 +28507,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Protein", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0034917", - "object_id": "UMLS:C0752046", + "subject_id": "UMLS:C0001347", + "object_id": "UMLS:C0007165", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28587,28 +28529,28 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "HP:0045047", - "object_id": "NCBIGene:619511", + "subject_id": "CHEBI:17833", + "object_id": "UMLS:C0040210", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "UMLS:C0162327", + "subject_id": "MESH:D053260", + "object_id": "UMLS:C0042834", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28621,11 +28563,11 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0752046", + "subject_id": "CHEBI:2417", + "object_id": "UMLS:C0007165", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28633,16 +28575,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "UMLS:C1515672", - "object_id": "UMLS:C0752046", + "subject_id": "UMLS:C0162326", + "object_id": "UMLS:C0534010", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28655,11 +28597,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Disease", + "subject_category": "biolink:Drug", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373149", - "object_id": "UMLS:C0877248", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28667,16 +28609,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:CellularComponent", + "subject_category": "biolink:Behavior", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C1519692", - "object_id": "UMLS:C1520625", + "subject_id": "UMLS:C0037322", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28689,11 +28631,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Cell", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "HP:0011157", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C0752046", + "object_id": "UMLS:C0034917", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28701,50 +28643,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Cell", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0023823", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C1167395", + "object_id": "UMLS:C0012934", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:Cell", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C1704842", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C0020969", + "object_id": "UMLS:C0012924", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:Cell", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0162326", - "object_id": "UMLS:C0879593", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0079925", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28757,11 +28699,11 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:Device", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C1520625", - "object_id": "UMLS:C1519692", + "subject_id": "UMLS:C1328924", + "object_id": "UMLS:C0035736", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28774,11 +28716,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Pathway", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C1155876", - "object_id": "SMPDB:SMP0000477", + "subject_id": "UMLS:C0871470", + "object_id": "UMLS:C0037570", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28791,32 +28733,32 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Pathway", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0013227", - "object_id": "SMPDB:SMP0063813", + "subject_id": "UMLS:C0017127", + "object_id": "UMLS:C0078479", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:BiologicalProcess", + "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "NCBIGene:8066", + "subject_id": "GO:0010467", + "object_id": "UMLS:C0012171", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28825,11 +28767,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Device", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "CHEBI:33375", - "object_id": "UMLS:C0523584", + "subject_id": "UMLS:C0033086", + "object_id": "UMLS:C0026687", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28837,37 +28779,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Drug", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1544", - "object_id": "UMLS:C2684108", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0026687", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:MolecularMixture", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2278", - "object_id": "PUBCHEM.COMPOUND:70697642", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0026687", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -28876,28 +28818,28 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Behavior", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0054889", - "object_id": "UMLS:C1331418", + "subject_id": "UMLS:C0011313", + "object_id": "UMLS:C0318761", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:PhysicalEntity", + "subject_category": "biolink:Activity", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MONDO:0005271", - "object_id": "UMLS:C0015919", + "subject_id": "UMLS:C0599946", + "object_id": "UMLS:C0011313", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28910,11 +28852,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001060", - "object_id": "UMLS:C4748586", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0012868", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28922,33 +28864,33 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0302600", - "object_id": "UMLS:C1134718", + "subject_id": "CHEBI:16991", + "object_id": "UMLS:C0012872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Device", + "subject_category": "biolink:Protein", + "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032942", - "object_id": "UMLS:C0115137", + "subject_id": "UMLS:C0080065", + "object_id": "UMLS:C0012872", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28961,28 +28903,28 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D008928", - "object_id": "UMLS:C5202641", + "subject_id": "UMLS:C1373111", + "object_id": "UMLS:C0012929", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004268", - "object_id": "UMLS:C5202641", + "subject_id": "UMLS:C0012931", + "object_id": "UMLS:C1511997", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -28996,10 +28938,10 @@ }, { "subject_category": "biolink:NamedThing", - "object_category": "biolink:Food", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "MESH:D055432", - "object_id": "UMLS:C1572543", + "subject_id": "CHV:0000042589", + "object_id": "UMLS:C0012939", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29012,11 +28954,11 @@ ] }, { - "subject_category": "biolink:Event", - "object_category": "biolink:Drug", + "subject_category": "biolink:Publication", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0574035", - "object_id": "UMLS:C1874451", + "subject_id": "UMLS:C0599740", + "object_id": "UMLS:C0004391", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29029,28 +28971,37 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0025246", + "subject_id": "UMLS:C0015745", + "object_id": "UMLS:C3895854", "qualifiers": [ { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, + { + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:Behavior", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0015745", + "object_id": "UMLS:C3895852", + "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C0017654", + "subject_id": "UMLS:C0087111", + "object_id": "UMLS:C0005612", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29058,50 +29009,50 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Disease", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10044", - "object_id": "UMLS:C0449238", + "subject_id": "MONDO:0000088", + "object_id": "UMLS:C0005938", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:104840", - "object_id": "UMLS:C0017654", + "subject_id": "HP:0000938", + "object_id": "UMLS:C0005938", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D000077215", - "object_id": "UMLS:C0428696", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C0007165", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29114,28 +29065,28 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PhysicalEntity", + "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "UMLS:C0018270", + "subject_id": "UMLS:C0015919", + "object_id": "UMLS:C0079291", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:Activity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "UMLS:C0018270", + "subject_id": "UMLS:C0237820", + "object_id": "UMLS:C0079925", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29148,11 +29099,11 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:Device", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0011313", - "object_id": "UMLS:C0318761", + "subject_id": "UMLS:C0043076", + "object_id": "UMLS:C0600680", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29165,28 +29116,28 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:OrganismTaxon", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599946", - "object_id": "UMLS:C0011313", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0079925", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:BiologicalProcess", - "object_category": "biolink:Food", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "GO:0010467", - "object_id": "UMLS:C0012171", + "subject_id": "MESH:D016192", + "object_id": "UMLS:C0080129", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29199,28 +29150,28 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:Protein", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0031911", - "object_id": "UMLS:C0002520", + "subject_id": "MESH:D017729", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:Drug", + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHV:0000042589", - "object_id": "UMLS:C0002842", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0009393", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29233,11 +29184,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "UMLS:C0004391", + "subject_id": "NCIT:C28506", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29250,37 +29201,45 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Behavior", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015745", - "object_id": "UMLS:C3895854", + "subject_id": "UMLS:C1160534", + "object_id": "UMLS:C0001413", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Behavior", + "subject_category": "biolink:Disease", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0015745", - "object_id": "UMLS:C3895852", + "subject_id": "MONDO:0002050", + "object_id": "UMLS:C0001413", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Protein", "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:123812", - "object_id": "UMLS:C0001884", + "subject_id": "UMLS:C0015506", + "object_id": "UMLS:C0489482", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29347,8 +29306,8 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:140821", - "object_id": "UMLS:C1705549", + "subject_id": "UMLS:C0004793", + "object_id": "UMLS:C0002085", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29364,8 +29323,8 @@ "subject_category": "biolink:Protein", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C1706005", + "subject_id": "UMLS:C0001271", + "object_id": "UMLS:C1705751", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29432,8 +29391,8 @@ "subject_category": "biolink:Cell", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0001280", - "object_id": "UMLS:C4049611", + "subject_id": "CL:0000023", + "object_id": "UMLS:C1704842", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29449,8 +29408,8 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", - "object_id": "UMLS:C1881502", + "subject_id": "UMLS:C0012868", + "object_id": "UMLS:C0002085", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29517,8 +29476,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11321986", - "object_id": "UMLS:C3890397", + "subject_id": "CHEBI:137694", + "object_id": "UMLS:C0678941", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29534,8 +29493,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", - "object_id": "UMLS:C1708154", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C1706005", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29599,11 +29558,11 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "MESH:C495669", - "object_id": "UMLS:C3538782", + "subject_id": "UMLS:C0009221", + "object_id": "UMLS:C0678941", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29616,11 +29575,11 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:8081", - "object_id": "UMLS:C0017346", + "subject_id": "CHEBI:10022", + "object_id": "UMLS:C0002085", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29633,11 +29592,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:Protein", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10022", - "object_id": "UMLS:C0002085", + "subject_id": "PR:000001849", + "object_id": "UMLS:C1706240", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29704,8 +29663,8 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:131842327", - "object_id": "UMLS:C0002085", + "subject_id": "CHEBI:132767", + "object_id": "UMLS:C3890206", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29721,8 +29680,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:28017", - "object_id": "UMLS:C0002085", + "subject_id": "CHV:0000010203", + "object_id": "UMLS:C3715113", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29738,8 +29697,8 @@ "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "CHV:0000005405", - "object_id": "UMLS:C3540820", + "subject_id": "CHV:0000000950", + "object_id": "UMLS:C0002085", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29925,8 +29884,8 @@ "subject_category": "biolink:Cell", "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004112", - "object_id": "UMLS:C3813609", + "subject_id": "CL:0000025", + "object_id": "UMLS:C3890018", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29973,11 +29932,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "UMLS:C0087111", - "object_id": "UMLS:C0005612", + "subject_id": "UMLS:C0031911", + "object_id": "UMLS:C0002520", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -29985,67 +29944,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Disease", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "MONDO:0000088", - "object_id": "UMLS:C0005938", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "HGNC:5756", - "object_id": "UMLS:C0007165", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Drug", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "CHEBI:26125", - "object_id": "UMLS:C0871470", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:NamedThing", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C1101610", - "object_id": "UMLS:C0005938", + "subject_id": "CHV:0000042589", + "object_id": "UMLS:C0002842", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30058,11 +29966,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Device", "predicate": "biolink:causes", - "subject_id": "MESH:D013482", - "object_id": "UMLS:C0871470", + "subject_id": "UMLS:C0007165", + "object_id": "UMLS:C0074339", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30075,11 +29983,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:IndividualOrganism", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:123812", - "object_id": "UMLS:C0040210", + "subject_id": "UMLS:C0677040", + "object_id": "UMLS:C0006556", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30112,58 +30020,7 @@ "subject_category": "biolink:Protein", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D008049", - "object_id": "UMLS:C0455829", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "CHEBI:100246", - "object_id": "UMLS:C0026687", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "CHEBI:18154", - "object_id": "UMLS:C0026687", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Drug", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "UMLS:C0002520", "object_id": "UMLS:C0871470", "qualifiers": [ { @@ -30176,40 +30033,6 @@ } ] }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:123812", - "object_id": "UMLS:C0040210", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0543421", - "object_id": "UMLS:C0007165", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Device", "object_category": "biolink:ClinicalAttribute", @@ -30227,29 +30050,12 @@ } ] }, - { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:2489", - "object_id": "UMLS:C0871470", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:MolecularActivity", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "NCIT:C28506", - "object_id": "NCBIGene:100188784", + "subject_id": "UMLS:C0003319", + "object_id": "UMLS:C0009221", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30278,80 +30084,12 @@ } ] }, - { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0009393", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Procedure", - "object_category": "biolink:MolecularActivity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0040669", - "object_id": "UMLS:C0041904", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "MESH:D053260", - "object_id": "UMLS:C0042834", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:NucleicAcidEntity", - "predicate": "biolink:causes", - "subject_id": "CHEBI:16991", - "object_id": "UMLS:C0012872", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0080065", - "object_id": "UMLS:C0012872", + "subject_id": "MESH:D000077215", + "object_id": "UMLS:C0428696", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30444,7 +30182,7 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:15666", + "subject_id": "CHEBI:28966", "object_id": "UMLS:C0015919", "qualifiers": [ { @@ -30495,7 +30233,7 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:6096946", + "subject_id": "CHEBI:147402", "object_id": "UMLS:C0015919", "qualifiers": [ { @@ -30512,7 +30250,7 @@ "subject_category": "biolink:Protein", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D013482", + "subject_id": "UMLS:C0002520", "object_id": "UMLS:C0015919", "qualifiers": [ { @@ -30580,7 +30318,7 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:PhysicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:8066", + "subject_id": "UMLS:C1511518", "object_id": "UMLS:C0015919", "qualifiers": [ { @@ -30611,11 +30349,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Procedure", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C1373045", - "object_id": "UMLS:C0017191", + "subject_id": "MESH:D014612", + "object_id": "UMLS:C0020964", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30623,16 +30361,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Food", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:56477", - "object_id": "UMLS:C0017191", + "subject_id": "UMLS:C0078479", + "object_id": "UMLS:C0018270", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30640,37 +30378,37 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:GenomicEntity", + "subject_category": "biolink:Drug", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0699612", - "object_id": "UMLS:C0017346", + "subject_id": "UMLS:C0003204", + "object_id": "UMLS:C0020969", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:15938", - "object_id": "UMLS:C0034917", + "subject_id": "CHEBI:16412", + "object_id": "UMLS:C0020969", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -30679,28 +30417,28 @@ ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Protein", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0238876", - "object_id": "UMLS:C0034917", + "subject_id": "UMLS:C0000392", + "object_id": "UMLS:C0517355", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Gene", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0037322", - "object_id": "UMLS:C0034917", + "subject_id": "NCBIGene:100289419", + "object_id": "UMLS:C0020969", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30713,15 +30451,15 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", - "object_category": "biolink:PhenotypicFeature", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2489", - "object_id": "UMLS:C0543421", + "subject_id": "UMLS:C0012924", + "object_id": "UMLS:C0020969", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -30730,10 +30468,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ComplexMolecularMixture", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:5284359", + "subject_id": "MESH:D010936", "object_id": "UMLS:C0020969", "qualifiers": [ { @@ -30747,10 +30485,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "CHEBI:16412", + "subject_id": "UMLS:C0162327", "object_id": "UMLS:C0020969", "qualifiers": [ { @@ -30764,10 +30502,10 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:OrganismTaxon", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", + "subject_id": "MESH:D020077", "object_id": "UMLS:C0020969", "qualifiers": [ { @@ -30781,10 +30519,10 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "NCBIGene:100289419", + "subject_id": "CHEBI:17843", "object_id": "UMLS:C0020969", "qualifiers": [ { @@ -30798,10 +30536,10 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Food", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012924", + "subject_id": "UMLS:C0012171", "object_id": "UMLS:C0020969", "qualifiers": [ { @@ -30815,32 +30553,41 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D014612", + "subject_id": "UMLS:C1155270", "object_id": "UMLS:C0020969", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:PhysiologicalProcess", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0162327", + "subject_id": "UMLS:C1155269", "object_id": "UMLS:C0020969", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "downregulated" + } + ] + }, + { + "subject_category": "biolink:Activity", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0015259", + "object_id": "UMLS:C0021665", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -30849,88 +30596,96 @@ ] }, { - "subject_category": "biolink:OrganismTaxon", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "MESH:D020077", - "object_id": "UMLS:C0020969", + "subject_id": "UMLS:C1373045", + "object_id": "UMLS:C0017191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:Gene", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012171", - "object_id": "UMLS:C0020969", + "subject_id": "NCBIGene:56477", + "object_id": "UMLS:C0017191", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:Device", + "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:135499568", - "object_id": "UMLS:C0020969", + "subject_id": "UMLS:C0699612", + "object_id": "UMLS:C0017346", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1155270", - "object_id": "UMLS:C0020969", + "subject_id": "DRUGBANK:DB12768", + "object_id": "UMLS:C3811714", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:OrganismAttribute", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1155269", - "object_id": "UMLS:C0020969", + "subject_id": "CHEBI:133354", + "object_id": "UMLS:C0449238", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Protein", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:10545", - "object_id": "UMLS:C0449238", + "subject_id": "UMLS:C0002191", + "object_id": "UMLS:C0205254", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30938,7 +30693,7 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -30946,13 +30701,30 @@ "subject_category": "biolink:Gene", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:10010", + "subject_id": "NCBIGene:10044", "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:PhysiologicalProcess", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0696628", + "object_id": "UMLS:C0018270", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -30960,11 +30732,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033086", - "object_id": "UMLS:C0026687", + "subject_id": "MESH:D000086942", + "object_id": "UMLS:C0025246", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30972,16 +30744,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Protein", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0026687", + "subject_id": "UMLS:C0001643", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -30989,20 +30761,20 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Gene", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "UMLS:C0026687", + "subject_id": "NCBIGene:10010", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -31082,7 +30854,7 @@ "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:OrganismAttribute", "predicate": "biolink:causes", - "subject_id": "CHEBI:18154", + "subject_id": "CHEBI:17401", "object_id": "UMLS:C0031911", "qualifiers": [ { @@ -31112,6 +30884,23 @@ } ] }, + { + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:OrganismAttribute", + "predicate": "biolink:causes", + "subject_id": "CHEBI:2911", + "object_id": "UMLS:C0517355", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, { "subject_category": "biolink:ClinicalAttribute", "object_category": "biolink:Procedure", @@ -31181,11 +30970,11 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Food", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "UMLS:C0871470", - "object_id": "UMLS:C0037570", + "subject_id": "UMLS:C1331418", + "object_id": "UMLS:C0054889", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31197,23 +30986,6 @@ } ] }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:Food", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0017127", - "object_id": "UMLS:C0078479", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:PhenotypicFeature", "object_category": "biolink:InformationContentEntity", @@ -31283,11 +31055,11 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Procedure", + "subject_category": "biolink:Procedure", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "UMLS:C1331418", - "object_id": "UMLS:C0054889", + "subject_id": "UMLS:C0040669", + "object_id": "UMLS:C0041904", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31300,11 +31072,11 @@ ] }, { - "subject_category": "biolink:GrossAnatomicalStructure", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "UBERON:0002481", - "object_id": "UMLS:C0085268", + "subject_id": "UMLS:C0696628", + "object_id": "UMLS:C0105185", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31316,11 +31088,28 @@ } ] }, + { + "subject_category": "biolink:DiseaseOrPhenotypicFeature", + "object_category": "biolink:Polypeptide", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0033213", + "object_id": "UMLS:C3827014", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:Cell", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "UMLS:C0024432", + "subject_id": "CL:0000115", "object_id": "UMLS:C0078479", "qualifiers": [ { @@ -31388,7 +31177,7 @@ "subject_category": "biolink:Disease", "object_category": "biolink:Food", "predicate": "biolink:causes", - "subject_id": "MONDO:0019182", + "subject_id": "UMLS:C0872084", "object_id": "UMLS:C0078479", "qualifiers": [ { @@ -31418,91 +31207,6 @@ } ] }, - { - "subject_category": "biolink:PhysicalEntity", - "object_category": "biolink:PhenotypicFeature", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0015919", - "object_id": "UMLS:C0079291", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "MESH:D016192", - "object_id": "UMLS:C0080129", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "MESH:D017729", - "object_id": "UMLS:C0449238", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "NCIT:C28506", - "object_id": "UMLS:C0449238", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Device", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0007165", - "object_id": "UMLS:C0074339", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Procedure", "object_category": "biolink:InformationContentEntity", @@ -31521,11 +31225,11 @@ ] }, { - "subject_category": "biolink:PopulationOfIndividualOrganisms", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:GrossAnatomicalStructure", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0696628", - "object_id": "UMLS:C0105185", + "subject_id": "UBERON:0002481", + "object_id": "UMLS:C0085268", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31555,10 +31259,10 @@ ] }, { - "subject_category": "biolink:Disease", + "subject_category": "biolink:AnatomicalEntity", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "MONDO:0001627", + "subject_id": "UBERON:0000044", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -31584,23 +31288,6 @@ } ] }, - { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "UBERON:0000044", - "object_id": "UMLS:C0449238", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Activity", "object_category": "biolink:Device", @@ -31619,11 +31306,11 @@ ] }, { - "subject_category": "biolink:NamedThing", - "object_category": "biolink:Activity", + "subject_category": "biolink:Activity", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0185624", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0237820", + "object_id": "UMLS:C0185624", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31636,11 +31323,11 @@ ] }, { - "subject_category": "biolink:Device", - "object_category": "biolink:Activity", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "UMLS:C0182473", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0014653", + "object_id": "UMLS:C0851312", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31653,32 +31340,32 @@ ] }, { - "subject_category": "biolink:CellularComponent", - "object_category": "biolink:Activity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "MESH:D000086942", - "object_id": "UMLS:C0237820", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0205082", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Activity", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:DiseaseOrPhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0079925", - "object_id": "UMLS:C0237820", + "subject_id": "HP:0045047", + "object_id": "UMLS:C0205082", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -31687,10 +31374,10 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:NamedThing", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:10339178", + "subject_id": "UMLS:C0185624", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -31704,10 +31391,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:Device", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:433294", + "subject_id": "UMLS:C0182473", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -31721,10 +31408,10 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", + "subject_category": "biolink:CellularComponent", "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", + "subject_id": "MESH:D000086942", "object_id": "UMLS:C0237820", "qualifiers": [ { @@ -31738,11 +31425,11 @@ ] }, { - "subject_category": "biolink:Activity", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0237820", - "object_id": "UMLS:C0185624", + "subject_id": "UMLS:C0079925", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31755,15 +31442,15 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:NamedThing", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0014653", - "object_id": "UMLS:C0851312", + "subject_id": "UBERON:0008826", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -31772,50 +31459,16 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:DiseaseOrPhenotypicFeature", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0205082", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:DiseaseOrPhenotypicFeature", + "subject_category": "biolink:Drug", + "object_category": "biolink:Activity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:168266382", - "object_id": "UMLS:C0205082", + "subject_id": "UMLS:C0003402", + "object_id": "UMLS:C0237820", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:DiseaseOrPhenotypicFeature", - "predicate": "biolink:causes", - "subject_id": "HP:0045047", - "object_id": "UMLS:C0205082", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -31823,19 +31476,19 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Disease", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "MESH:D005620", - "object_id": "UMLS:C0806909", + "subject_id": "MONDO:0001627", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -31891,11 +31544,11 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Disease", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0034917", - "object_id": "UMLS:C0238876", + "subject_id": "MESH:D014612", + "object_id": "UMLS:C0449238", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -31911,7 +31564,7 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Gene", "predicate": "biolink:causes", - "subject_id": "CHEBI:15903", + "subject_id": "CHEBI:17561", "object_id": "UMLS:C0314621", "qualifiers": [ { @@ -31926,14 +31579,14 @@ }, { "subject_category": "biolink:Drug", - "object_category": "biolink:Gene", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:4873", - "object_id": "UMLS:C0314621", + "subject_id": "UMLS:C0003280", + "object_id": "UMLS:C0318759", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -31976,15 +31629,15 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:Procedure", + "subject_category": "biolink:NucleicAcidEntity", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0441650", - "object_id": "UMLS:C0556030", + "subject_id": "UMLS:C0162326", + "object_id": "UMLS:C0871470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32010,11 +31663,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Procedure", + "object_category": "biolink:Procedure", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", - "object_id": "UMLS:C0449238", + "subject_id": "UMLS:C0441650", + "object_id": "UMLS:C0556030", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32027,10 +31680,10 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", + "subject_id": "CHEBI:10545", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32060,6 +31713,23 @@ } ] }, + { + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:InformationContentEntity", + "predicate": "biolink:causes", + "subject_id": "CHEBI:102166", + "object_id": "UMLS:C0449238", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, { "subject_category": "biolink:GenomicEntity", "object_category": "biolink:InformationContentEntity", @@ -32081,7 +31751,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:16261", + "subject_id": "RXCUI:1535257", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32095,10 +31765,10 @@ ] }, { - "subject_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0752046", + "subject_id": "CHEBI:2417", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32112,10 +31782,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:131634907", + "subject_id": "UMLS:C0752046", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32149,7 +31819,7 @@ "subject_category": "biolink:Polypeptide", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0010762", + "subject_id": "UMLS:C0023823", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32319,7 +31989,7 @@ "subject_category": "biolink:Cell", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0009013", + "subject_id": "CL:0000084", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32387,7 +32057,7 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:140821", + "subject_id": "UMLS:C0080089", "object_id": "UMLS:C0449238", "qualifiers": [ { @@ -32418,11 +32088,11 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:Procedure", + "subject_category": "biolink:CellularComponent", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C1144709", - "object_id": "UMLS:C0489482", + "subject_id": "UMLS:C1515508", + "object_id": "UMLS:C0600680", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32434,23 +32104,6 @@ } ] }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:Protein", - "predicate": "biolink:causes", - "subject_id": "MESH:C510163", - "object_id": "UMLS:C0600128", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "localization" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Food", "object_category": "biolink:PhenotypicFeature", @@ -32469,19 +32122,19 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:PhenotypicFeature", "predicate": "biolink:causes", - "subject_id": "UMLS:C0007165", + "subject_id": "UMLS:C0752046", "object_id": "UMLS:C0543421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, @@ -32521,14 +32174,14 @@ }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "MESH:C110027", - "object_id": "UMLS:C0696628", + "subject_id": "MESH:C510163", + "object_id": "UMLS:C0600128", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "localization" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32537,11 +32190,11 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:Behavior", "predicate": "biolink:causes", - "subject_id": "UMLS:C0061928", - "object_id": "UMLS:C0696628", + "subject_id": "UMLS:C0452415", + "object_id": "UMLS:C0700219", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32555,10 +32208,10 @@ }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C0105185", - "object_id": "UMLS:C0696628", + "subject_id": "CHEBI:8027", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32566,16 +32219,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "MONDO:0004992", - "object_id": "UMLS:C0696628", + "subject_id": "CHEBI:16646", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32588,15 +32241,15 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:Gene", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C0442751", - "object_id": "UMLS:C0696628", + "subject_id": "NCBIGene:1026", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32605,11 +32258,11 @@ ] }, { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:Gene", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C0018270", - "object_id": "UMLS:C0696628", + "subject_id": "NCBIGene:1806", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32622,15 +32275,15 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:Protein", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UBERON:0010163", - "object_id": "UMLS:C0696628", + "subject_id": "UMLS:C0019046", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32639,15 +32292,15 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:PopulationOfIndividualOrganisms", + "subject_category": "biolink:Protein", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "CHEBI:16236", - "object_id": "UMLS:C0696628", + "subject_id": "UMLS:C0012512", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32656,15 +32309,15 @@ ] }, { - "subject_category": "biolink:ClinicalAttribute", - "object_category": "biolink:Drug", + "subject_category": "biolink:Drug", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C1115729", - "object_id": "UMLS:C0699251", + "subject_id": "UMLS:C0243192", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32673,32 +32326,32 @@ ] }, { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:GenomicEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C0449238", - "object_id": "UMLS:C0678941", + "subject_id": "CHEBI:15377", + "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "UMLS:C0019046", + "subject_id": "CHEBI:61040", "object_id": "UMLS:C0677040", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32707,10 +32360,10 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "CHEBI:16646", + "subject_id": "UMLS:C0006556", "object_id": "UMLS:C0677040", "qualifiers": [ { @@ -32724,10 +32377,10 @@ ] }, { - "subject_category": "biolink:Gene", + "subject_category": "biolink:GenomicEntity", "object_category": "biolink:IndividualOrganism", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1026", + "subject_id": "UMLS:C0002085", "object_id": "UMLS:C0677040", "qualifiers": [ { @@ -32741,28 +32394,28 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:GenomicEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1806", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C0449238", + "object_id": "UMLS:C0678941", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:IndividualOrganism", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "MESH:D000110", - "object_id": "UMLS:C0677040", + "subject_id": "MESH:C110027", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32776,10 +32429,44 @@ }, { "subject_category": "biolink:Protein", - "object_category": "biolink:IndividualOrganism", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "UMLS:C0012512", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C0061928", + "object_id": "UMLS:C0696628", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:PopulationOfIndividualOrganisms", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0105185", + "object_id": "UMLS:C0696628", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Disease", + "object_category": "biolink:PopulationOfIndividualOrganisms", + "predicate": "biolink:causes", + "subject_id": "MONDO:0004992", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32792,11 +32479,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:PhenotypicFeature", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "CHEBI:34674", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C0442751", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32809,11 +32496,11 @@ ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:PhysiologicalProcess", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "CHEBI:15377", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C0018270", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32826,11 +32513,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:7886", - "object_id": "UMLS:C0677040", + "subject_id": "UBERON:0010163", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32844,10 +32531,10 @@ }, { "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:IndividualOrganism", + "object_category": "biolink:PopulationOfIndividualOrganisms", "predicate": "biolink:causes", - "subject_id": "CHEBI:8027", - "object_id": "UMLS:C0677040", + "subject_id": "CHEBI:16236", + "object_id": "UMLS:C0696628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32860,15 +32547,15 @@ ] }, { - "subject_category": "biolink:Polypeptide", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:ClinicalAttribute", + "object_category": "biolink:Drug", "predicate": "biolink:causes", - "subject_id": "UMLS:C0006556", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C1115729", + "object_id": "UMLS:C0699251", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32877,11 +32564,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", - "object_category": "biolink:IndividualOrganism", + "subject_category": "biolink:Procedure", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0677040", + "subject_id": "UMLS:C0004910", + "object_id": "UMLS:C0871470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32894,15 +32581,15 @@ ] }, { - "subject_category": "biolink:PhenotypicFeature", - "object_category": "biolink:Behavior", + "subject_category": "biolink:Food", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0452415", - "object_id": "UMLS:C0700219", + "subject_id": "UMLS:C0037570", + "object_id": "UMLS:C0871470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -32911,16 +32598,101 @@ ] }, { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:InformationContentEntity", + "subject_category": "biolink:Food", + "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0233929", - "object_id": "UMLS:C0849355", + "subject_id": "UMLS:C0078479", + "object_id": "UMLS:C0871470", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:ClinicalAttribute", + "predicate": "biolink:causes", + "subject_id": "MESH:D014612", + "object_id": "UMLS:C0871470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Procedure", + "object_category": "biolink:ClinicalAttribute", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0032042", + "object_id": "UMLS:C0871470", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:Polypeptide", + "object_category": "biolink:ClinicalAttribute", + "predicate": "biolink:causes", + "subject_id": "CHV:0000021208", + "object_id": "UMLS:C1507013", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "decreased" + } + ] + }, + { + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:ClinicalAttribute", + "predicate": "biolink:causes", + "subject_id": "CHEBI:37532", + "object_id": "UMLS:C1115729", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:GenomicEntity", + "object_category": "biolink:ClinicalAttribute", + "predicate": "biolink:causes", + "subject_id": "UMLS:C0002085", + "object_id": "UMLS:C0871470", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", "qualifier_value": "increased" @@ -32962,11 +32734,11 @@ ] }, { - "subject_category": "biolink:Procedure", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:AnatomicalEntity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "UMLS:C0004910", - "object_id": "UMLS:C0871470", + "subject_id": "UMLS:C0233929", + "object_id": "UMLS:C0849355", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -32979,28 +32751,11 @@ ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:ClinicalAttribute", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0037570", - "object_id": "UMLS:C0871470", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Food", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:OrganismTaxon", + "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "UMLS:C0078479", - "object_id": "UMLS:C0871470", + "subject_id": "MESH:D008925", + "object_id": "UMLS:C1099354", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33013,28 +32768,28 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Cell", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "MESH:D014612", - "object_id": "UMLS:C0871470", + "subject_id": "UMLS:C0027950", + "object_id": "UMLS:C1115729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Procedure", + "subject_category": "biolink:Gene", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0032042", - "object_id": "UMLS:C0871470", + "subject_id": "NCBIGene:2357", + "object_id": "UMLS:C1115729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33042,16 +32797,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Protein", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0023823", - "object_id": "UMLS:C0871470", + "subject_id": "UMLS:C0002716", + "object_id": "UMLS:C1115729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33059,15 +32814,15 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:Drug", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "CHEBI:37532", + "subject_id": "UMLS:C0699251", "object_id": "UMLS:C1115729", "qualifiers": [ { @@ -33081,28 +32836,11 @@ ] }, { - "subject_category": "biolink:GenomicEntity", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:ClinicalAttribute", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002085", - "object_id": "UMLS:C0871470", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:ChemicalEntity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0019868", - "object_id": "UMLS:C0908045", + "subject_id": "CHEBI:18421", + "object_id": "UMLS:C1115729", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33115,11 +32853,11 @@ ] }, { - "subject_category": "biolink:Cell", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Publication", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C0027950", - "object_id": "UMLS:C1115729", + "subject_id": "UMLS:C0599740", + "object_id": "UMLS:C1140999", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33132,15 +32870,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Pathway", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "NCBIGene:2357", - "object_id": "UMLS:C1115729", + "subject_id": "SMPDB:SMP0000477", + "object_id": "UMLS:C1155876", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" + "qualifier_value": "activity_or_abundance" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -33149,78 +32887,62 @@ ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0002716", - "object_id": "UMLS:C1115729", + "subject_id": "UMLS:C0020969", + "object_id": "UMLS:C1155269", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:OrganismAttribute", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C0699251", - "object_id": "UMLS:C1115729", + "subject_id": "UMLS:C0020969", + "object_id": "UMLS:C1155270", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:ClinicalAttribute", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "CHEBI:18421", - "object_id": "UMLS:C1115729", + "subject_id": "UMLS:C1160638", + "object_id": "UMLS:C1655048", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:Disease", + "subject_category": "biolink:Phenomenon", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "UMLS:C1140999", + "subject_id": "UMLS:C1160638", + "object_id": "UMLS:C1655748", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "MESH:D007371", + "subject_id": "CHEBI:16412", "object_id": "UMLS:C1167395", "qualifiers": [ { @@ -33254,7 +32976,7 @@ "subject_category": "biolink:Drug", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:168010173", + "subject_id": "RXCUI:237976", "object_id": "UMLS:C1167395", "qualifiers": [ { @@ -33271,7 +32993,7 @@ "subject_category": "biolink:NucleicAcidEntity", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C0033755", + "subject_id": "UMLS:C0162326", "object_id": "UMLS:C1167395", "qualifiers": [ { @@ -33285,7 +33007,7 @@ ] }, { - "subject_category": "biolink:Polypeptide", + "subject_category": "biolink:Protein", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", "subject_id": "UMLS:C0001060", @@ -33302,10 +33024,10 @@ ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:SmallMolecule", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:131634907", + "subject_id": "CHEBI:133011", "object_id": "UMLS:C1167395", "qualifiers": [ { @@ -33319,10 +33041,10 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", + "subject_category": "biolink:Polypeptide", "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", + "subject_id": "UMLS:C0012934", "object_id": "UMLS:C1167395", "qualifiers": [ { @@ -33336,37 +33058,11 @@ ] }, { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "UMLS:C1155269", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, - { - "subject_category": "biolink:OrganismAttribute", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0020969", - "object_id": "UMLS:C1155270", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:Pathway", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "SMPDB:SMP0000477", - "object_id": "UMLS:C1155876", + "subject_id": "CHEBI:17843", + "object_id": "UMLS:C1167395", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -33379,28 +33075,19 @@ ] }, { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:ComplexMolecularMixture", + "object_category": "biolink:OrganismTaxon", "predicate": "biolink:causes", - "subject_id": "UMLS:C1160638", - "object_id": "UMLS:C1655048", + "subject_id": "DRUGBANK:DB12768", + "object_id": "UMLS:C1167395", "qualifiers": [ { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:Phenomenon", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C1160638", - "object_id": "UMLS:C1655748", - "qualifiers": [ + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, @@ -33451,19 +33138,6 @@ } ] }, - { - "subject_category": "biolink:Disease", - "object_category": "biolink:PhysiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "MONDO:0002459", - "object_id": "UMLS:C1326509", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, { "subject_category": "biolink:Disease", "object_category": "biolink:Disease", @@ -33524,23 +33198,6 @@ } ] }, - { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:InformationContentEntity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0279023", - "object_id": "UMLS:C1510470", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:Protein", "object_category": "biolink:Polypeptide", @@ -33562,7 +33219,7 @@ "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Polypeptide", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:133128", + "subject_id": "CHEBI:3385", "object_id": "UMLS:C1511997", "qualifiers": [ { @@ -33593,15 +33250,15 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:Polypeptide", + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:InformationContentEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:5831", - "object_id": "UMLS:C1511997", + "subject_id": "UMLS:C0279023", + "object_id": "UMLS:C1510470", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity_or_abundance" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -33733,32 +33390,6 @@ } ] }, - { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C2753278", - "object_id": "UMLS:C2753280", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] - }, - { - "subject_category": "biolink:InformationContentEntity", - "object_category": "biolink:Phenomenon", - "predicate": "biolink:causes", - "subject_id": "UMLS:C2753278", - "object_id": "UMLS:C2753281", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" - } - ] - }, { "subject_category": "biolink:Phenomenon", "object_category": "biolink:InformationContentEntity", @@ -33786,28 +33417,28 @@ ] }, { - "subject_category": "biolink:Pathway", - "object_category": "biolink:MolecularActivity", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "GO:0032933", - "object_id": "UMLS:C3157947", + "subject_id": "UMLS:C2753278", + "object_id": "UMLS:C2753280", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, { - "subject_category": "biolink:Pathway", - "object_category": "biolink:PhysiologicalProcess", + "subject_category": "biolink:InformationContentEntity", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "GO:0000077", - "object_id": "UMLS:C3157104", + "subject_id": "UMLS:C2753278", + "object_id": "UMLS:C2753281", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, @@ -33837,6 +33468,19 @@ } ] }, + { + "subject_category": "biolink:MolecularActivity", + "object_category": "biolink:Disease", + "predicate": "biolink:causes", + "subject_id": "UMLS:C3156018", + "object_id": "UMLS:C3158581", + "qualifiers": [ + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "upregulated" + } + ] + }, { "subject_category": "biolink:Pathway", "object_category": "biolink:PhysiologicalProcess", @@ -33851,11 +33495,11 @@ ] }, { - "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:Disease", + "subject_category": "biolink:Pathway", + "object_category": "biolink:PhysiologicalProcess", "predicate": "biolink:causes", - "subject_id": "UMLS:C3156018", - "object_id": "UMLS:C3158581", + "subject_id": "GO:0000077", + "object_id": "UMLS:C3157104", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -33864,19 +33508,15 @@ ] }, { - "subject_category": "biolink:ComplexMolecularMixture", - "object_category": "biolink:GenomicEntity", + "subject_category": "biolink:Pathway", + "object_category": "biolink:MolecularActivity", "predicate": "biolink:causes", - "subject_id": "DRUGBANK:DB12768", - "object_id": "UMLS:C3811714", + "subject_id": "GO:0032933", + "object_id": "UMLS:C3157947", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "downregulated" } ] }, @@ -33898,15 +33538,15 @@ ] }, { - "subject_category": "biolink:Behavior", - "object_category": "biolink:Phenomenon", + "subject_category": "biolink:Disease", + "object_category": "biolink:Disease", "predicate": "biolink:causes", - "subject_id": "UMLS:C2262951", - "object_id": "UMLS:C3822357", + "subject_id": "UMLS:C3893499", + "object_id": "UMLS:C4328062", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, @@ -33915,20 +33555,20 @@ "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", "subject_id": "UMLS:C2262951", - "object_id": "UMLS:C3822358", + "object_id": "UMLS:C3822357", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:Disease", - "object_category": "biolink:Disease", + "subject_category": "biolink:Behavior", + "object_category": "biolink:Phenomenon", "predicate": "biolink:causes", - "subject_id": "UMLS:C3893499", - "object_id": "UMLS:C4328062", + "subject_id": "UMLS:C2262951", + "object_id": "UMLS:C3822358", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", @@ -34057,6 +33697,36 @@ } ] }, + { + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:NucleicAcidEntity", + "predicate": "biolink:causes", + "subject_id": "CHEMBL.COMPOUND:CHEMBL2108280", + "object_id": "CHEMBL.TARGET:CHEMBL4622827", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "degradation" + }, + { + "qualifier_type_id": "biolink:direction_qualifier", + "qualifier_value": "increased" + } + ] + }, + { + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:Protein", + "predicate": "biolink:causes", + "subject_id": "CHEBI:6078", + "object_id": "UniProtKB:P36544", + "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "activity" + } + ] + }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:Protein", @@ -34071,15 +33741,19 @@ ] }, { - "subject_category": "biolink:MolecularActivity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "GO:0005219", - "object_id": "UniProtKB:P0DP23", + "subject_id": "PUBCHEM.COMPOUND:70697642", + "object_id": "CHEMBL.TARGET:CHEMBL2179", "qualifiers": [ + { + "qualifier_type_id": "biolink:aspect_qualifier", + "qualifier_value": "stability" + }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "increased" } ] }, @@ -34087,29 +33761,25 @@ "subject_category": "biolink:MolecularActivity", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "REACT:R-HSA-5649873", - "object_id": "UniProtKB:Q86W56", + "subject_id": "GO:0005219", + "object_id": "UniProtKB:P0DP23", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, { - "subject_category": "biolink:MolecularMixture", + "subject_category": "biolink:MolecularActivity", "object_category": "biolink:Protein", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL460785", - "object_id": "PR:000007752", + "subject_id": "REACT:R-HSA-5649873", + "object_id": "UniProtKB:Q86W56", "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" - }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "upregulated" } ] }, @@ -34117,12 +33787,12 @@ "subject_category": "biolink:NamedThing", "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "OBO:INO_0000074", + "subject_id": "OBO:INO_0000072", "object_id": "OBO:INO_0000173", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, @@ -34130,12 +33800,12 @@ "subject_category": "biolink:NamedThing", "object_category": "biolink:NamedThing", "predicate": "biolink:causes", - "subject_id": "OBO:INO_0000072", + "subject_id": "OBO:INO_0000074", "object_id": "OBO:INO_0000173", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, @@ -34160,12 +33830,12 @@ "subject_category": "biolink:MolecularEntity", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2364181", - "object_id": "CHEMBL.COMPOUND:CHEMBL1201482", + "subject_id": "CHEMBL.TARGET:CHEMBL2095182", + "object_id": "CHEMBL.COMPOUND:CHEMBL2108628", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -34177,29 +33847,25 @@ "subject_category": "biolink:Gene", "object_category": "biolink:ChemicalEntity", "predicate": "biolink:causes", - "subject_id": "NCBIGene:1191", - "object_id": "CHEMBL.COMPOUND:CHEMBL2108309", + "subject_id": "NCBIGene:729230", + "object_id": "CHEMBL.COMPOUND:CHEMBL3545221", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "expression" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "activity" } ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:159842316", - "object_id": "CHEMBL.COMPOUND:CHEMBL2108479", + "subject_id": "CHEMBL.COMPOUND:CHEMBL2108557", + "object_id": "CHEMBL.TARGET:CHEMBL2111480", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -34208,15 +33874,15 @@ ] }, { - "subject_category": "biolink:MolecularEntity", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "CHEMBL.TARGET:CHEMBL2111464", - "object_id": "CHEMBL.COMPOUND:CHEMBL2108628", + "subject_id": "CHEBI:10082", + "object_id": "CHEMBL.TARGET:CHEMBL2095203", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -34225,28 +33891,15 @@ ] }, { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "NCBIGene:5027", - "object_id": "CHEMBL.COMPOUND:CHEMBL3545206", + "subject_id": "CHEBI:31453", + "object_id": "CHEMBL.TARGET:CHEMBL2095166", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", "qualifier_value": "activity" - } - ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:ChemicalEntity", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:133", - "object_id": "CHEMBL.COMPOUND:CHEMBL4650434", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "stability" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -34255,11 +33908,11 @@ ] }, { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1788132", - "object_id": "CHEMBL.TARGET:CHEMBL2093864", + "subject_id": "CHEBI:10102", + "object_id": "CHEMBL.TARGET:CHEMBL2111392", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34272,11 +33925,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL2108557", - "object_id": "CHEMBL.TARGET:CHEMBL2111480", + "subject_id": "CHEBI:100246", + "object_id": "CHEMBL.TARGET:CHEMBL2363076", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34284,16 +33937,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Protein", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:Drug", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "UNII:8202AY8I7H", - "object_id": "CHEMBL.TARGET:CHEMBL3832947", + "subject_id": "UNII:4S0HBYW6QE", + "object_id": "CHEMBL.TARGET:CHEMBL3831282", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34301,16 +33954,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:GeneFamily", + "subject_category": "biolink:ChemicalEntity", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "UNII:B6E7K36KT8", - "object_id": "CHEMBL.TARGET:CHEMBL3559684", + "subject_id": "CHEBI:5938", + "object_id": "CHEMBL.TARGET:CHEMBL2364170", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34323,32 +33976,32 @@ ] }, { - "subject_category": "biolink:Protein", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "UNII:X8R2D92QP1", - "object_id": "CHEMBL.TARGET:CHEMBL2364181", + "subject_id": "CHEMBL.COMPOUND:CHEMBL1742988", + "object_id": "CHEMBL.TARGET:CHEMBL3833421", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:ChemicalEntity", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1201482", - "object_id": "CHEMBL.TARGET:CHEMBL2364181", + "subject_id": "CHEBI:3229", + "object_id": "CHEMBL.TARGET:CHEMBL1907607", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", @@ -34357,27 +34010,27 @@ ] }, { - "subject_category": "biolink:SmallMolecule", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "CHEBI:193860", - "object_id": "CHEMBL.TARGET:CHEMBL2364181", + "subject_id": "CHEBI:2619", + "object_id": "CHEMBL.TARGET:CHEMBL2094124", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "degradation" + "qualifier_value": "activity" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" + "qualifier_value": "decreased" } ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:ChemicalEntity", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:8519", + "subject_id": "CHEMBL.COMPOUND:CHEMBL1201482", "object_id": "CHEMBL.TARGET:CHEMBL2364181", "qualifiers": [ { @@ -34391,11 +34044,11 @@ ] }, { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:SmallMolecule", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL2108280", - "object_id": "CHEMBL.TARGET:CHEMBL4622827", + "subject_id": "CHEBI:193860", + "object_id": "CHEMBL.TARGET:CHEMBL2364181", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34408,11 +34061,11 @@ ] }, { - "subject_category": "biolink:Drug", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:MolecularMixture", + "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:121493436", - "object_id": "CHEMBL.TARGET:CHEMBL4296221", + "subject_id": "CHEBI:81916", + "object_id": "CHEMBL.TARGET:CHEMBL2364181", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34425,19 +34078,19 @@ ] }, { - "subject_category": "biolink:Drug", + "subject_category": "biolink:MolecularMixture", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "UNII:50FKX8CB2Y", + "subject_id": "UNII:0IEO0F56LV", "object_id": "CHEMBL.TARGET:CHEMBL4296221", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "abundance" + "qualifier_value": "degradation" }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, @@ -34479,7 +34132,7 @@ "subject_category": "biolink:SmallMolecule", "object_category": "biolink:NucleicAcidEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:121494122", + "subject_id": "UNII:2O4BE0K238", "object_id": "CHEMBL.TARGET:CHEMBL4495602", "qualifiers": [ { @@ -34492,23 +34145,6 @@ } ] }, - { - "subject_category": "biolink:PhysiologicalProcess", - "object_category": "biolink:NucleicAcidEntity", - "predicate": "biolink:causes", - "subject_id": "MESH:D059365", - "object_id": "NCBIGene:4096", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, { "subject_category": "biolink:MolecularMixture", "object_category": "biolink:NucleicAcidEntity", @@ -34526,114 +34162,12 @@ } ] }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEBI:10102", - "object_id": "CHEMBL.TARGET:CHEMBL2111392", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:ChemicalEntity", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1201557", - "object_id": "CHEMBL.TARGET:CHEMBL2364170", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:SmallMolecule", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEBI:100241", - "object_id": "CHEMBL.TARGET:CHEMBL2363033", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200703", - "object_id": "CHEMBL.TARGET:CHEMBL2093872", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:MolecularMixture", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "CHEMBL.COMPOUND:CHEMBL1200498", - "object_id": "CHEMBL.TARGET:CHEMBL2363033", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, - { - "subject_category": "biolink:Protein", - "object_category": "biolink:MolecularEntity", - "predicate": "biolink:causes", - "subject_id": "UNII:8202AY8I7H", - "object_id": "CHEMBL.TARGET:CHEMBL1907598", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" - } - ] - }, { "subject_category": "biolink:SmallMolecule", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", "subject_id": "CHEBI:177512", - "object_id": "CHEMBL.TARGET:CHEMBL2111464", + "object_id": "CHEMBL.TARGET:CHEMBL2095182", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34650,7 +34184,7 @@ "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", "subject_id": "CHEMBL.COMPOUND:CHEMBL2108628", - "object_id": "CHEMBL.TARGET:CHEMBL2111464", + "object_id": "CHEMBL.TARGET:CHEMBL2095182", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34666,59 +34200,8 @@ "subject_category": "biolink:Drug", "object_category": "biolink:MolecularEntity", "predicate": "biolink:causes", - "subject_id": "PUBCHEM.COMPOUND:11963622", - "object_id": "CHEMBL.TARGET:CHEMBL2111348", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:Cell", - "object_category": "biolink:NucleicAcidEntity", - "predicate": "biolink:causes", - "subject_id": "UMLS:C0003315", - "object_id": "NCBIGene:84565", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:NucleicAcidEntity", - "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "NCBIGene:907", - "qualifiers": [ - { - "qualifier_type_id": "biolink:aspect_qualifier", - "qualifier_value": "activity" - }, - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "increased" - } - ] - }, - { - "subject_category": "biolink:AnatomicalEntity", - "object_category": "biolink:NucleicAcidEntity", - "predicate": "biolink:causes", - "subject_id": "UBERON:0008826", - "object_id": "NCBIGene:84565", + "subject_id": "NCIT:C116748", + "object_id": "CHEMBL.TARGET:CHEMBL2095182", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34731,11 +34214,11 @@ ] }, { - "subject_category": "biolink:Publication", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Drug", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "UMLS:C0599740", - "object_id": "NCBIGene:57762", + "subject_id": "UNII:7GDW9S3GN3", + "object_id": "CHEMBL.TARGET:CHEMBL2095181", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34743,16 +34226,16 @@ }, { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "decreased" + "qualifier_value": "increased" } ] }, { - "subject_category": "biolink:Food", - "object_category": "biolink:NucleicAcidEntity", + "subject_category": "biolink:Drug", + "object_category": "biolink:GeneFamily", "predicate": "biolink:causes", - "subject_id": "UMLS:C0597423", - "object_id": "NCBIGene:2489", + "subject_id": "UNII:2ZT81PV5UM", + "object_id": "CHEMBL.TARGET:CHEMBL2363062", "qualifiers": [ { "qualifier_type_id": "biolink:aspect_qualifier", @@ -34766,14 +34249,14 @@ }, { "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:SmallMolecule", + "object_category": "biolink:BiologicalEntity", "predicate": "biolink:causes", - "subject_id": "GO:0015280", - "object_id": "REACT:R-ALL-2672379", + "subject_id": "GO:0000150", + "object_id": "REACT:R-HSA-913509", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "downregulated" + "qualifier_value": "upregulated" } ] }, @@ -34792,14 +34275,14 @@ }, { "subject_category": "biolink:MolecularActivity", - "object_category": "biolink:BiologicalEntity", + "object_category": "biolink:SmallMolecule", "predicate": "biolink:causes", - "subject_id": "GO:0000150", - "object_id": "REACT:R-HSA-913509", + "subject_id": "GO:0015280", + "object_id": "REACT:R-ALL-2672379", "qualifiers": [ { "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" + "qualifier_value": "downregulated" } ] }, @@ -34815,19 +34298,6 @@ "qualifier_value": "upregulated" } ] - }, - { - "subject_category": "biolink:Gene", - "object_category": "biolink:BiologicalProcess", - "predicate": "biolink:causes", - "subject_id": "NCBIGene:23411", - "object_id": "REACT:R-HSA-9825751", - "qualifiers": [ - { - "qualifier_type_id": "biolink:direction_qualifier", - "qualifier_value": "upregulated" - } - ] } ] } \ No newline at end of file diff --git a/code/ARAX/KnowledgeSources/create_csv_of_kp_predicate_triples.py b/code/ARAX/KnowledgeSources/create_csv_of_kp_predicate_triples.py index d3c53f595..895a2791d 100644 --- a/code/ARAX/KnowledgeSources/create_csv_of_kp_predicate_triples.py +++ b/code/ARAX/KnowledgeSources/create_csv_of_kp_predicate_triples.py @@ -85,7 +85,7 @@ def get_kg2_predicate_triples_examples(): "node2, value.subject as subject, value.object as object" results = run_neo4j_query(cypher, "KG2pre", "predicate triples") triples_dict = {"subject":[], "predicate":[], "object":[]} - examples_json = {"url": "https://arax.ncats.io/api/rtxkg2/v1.1/query", + examples_json = {"url": "https://kg2cploverdb.transltr.io", "TRAPI": True, "edges": []} for result in results: @@ -116,7 +116,7 @@ def get_kg2c_predicate_triples_examples(): "node2, value.subject as subject, value.object as object" results = run_neo4j_query(cypher, "KG2c", "predicate triples") triples_dict = {"subject":[], "predicate":[], "object":[]} - examples_json = {"url": "https://kg2.transltr.io/api/rtxkg2/v1.2", + examples_json = {"url": "https://kg2cploverdb.transltr.io", "TRAPI": True, "edges": []} for result in results: diff --git a/code/ARAX/KnowledgeSources/general_concepts.json b/code/ARAX/KnowledgeSources/general_concepts.json index b0a55f3fd..4ffb12aed 100644 --- a/code/ARAX/KnowledgeSources/general_concepts.json +++ b/code/ARAX/KnowledgeSources/general_concepts.json @@ -344,7 +344,9 @@ "umls:c0040616", "umls:c0302837", "chebi:50847", - "umls:c0003209" + "umls:c0003209", + "umls:c4045974", + "umls:c0005522" ], "synonyms": [ "used in nicotine dependence", @@ -456,6 +458,7 @@ "antidiarrheals in atc", "poisoning", "proteins", + "plasma proteins", "mineral supplements in atc", "virology", "antifungals for topical use in atc", @@ -681,7 +684,6 @@ "secondary", "uterotonics", "radiotherapy", - "pharmacolog.*", "medicament", "Anesthetics", "vaccines", @@ -705,6 +707,8 @@ "Introns", "antioxidant", "Oils" - + ], + "patterns": [ + "pharmacolog.*" ] } diff --git a/code/ARAX/NodeSynonymizer/node_synonymizer.py b/code/ARAX/NodeSynonymizer/node_synonymizer.py index 8abf890be..35b74e535 100644 --- a/code/ARAX/NodeSynonymizer/node_synonymizer.py +++ b/code/ARAX/NodeSynonymizer/node_synonymizer.py @@ -7,7 +7,8 @@ import string import sys import time -from collections import defaultdict +import math +from collections import defaultdict, Counter from typing import Optional, Union, List, Set, Dict, Tuple import pandas as pd @@ -285,7 +286,53 @@ def get_curie_names(self, curies: Union[str, Set[str], List[str]], debug: bool = print(f"Took {round(time.time() - start, 5)} seconds") return results_dict + def get_curie_category(self, curies: Union[str, Set[str], List[str]], debug: bool = False) -> dict: + """ + Returns NON-preferred names for input curies; i.e., the curie's direct name, not the name of its canonical + identifier. + """ + start = time.time() + + # Convert any input values to Set format + curies_set = self._convert_to_set_format(curies) + results_dict = dict() + + if curies_set: + # First transform curies so that their prefixes are entirely uppercase + curies_to_capitalized_curies, capitalized_curies = self._map_to_capitalized_curies(curies_set) + + # Query the synonymizer sqlite database for these identifiers (in batches, if necessary) + sql_query_template = f""" + SELECT N.id_simplified, N.category + FROM nodes as N + WHERE N.id_simplified in ('{self.placeholder_lookup_values_str}')""" + matching_rows = self._run_sql_query_in_batches(sql_query_template, capitalized_curies) + + # Transform the results into the proper response format + results_dict_capitalized = {row[0]: row[1] for row in matching_rows} + results_dict = {input_curie: results_dict_capitalized[capitalized_curie] + for input_curie, capitalized_curie in curies_to_capitalized_curies.items() + if capitalized_curie in results_dict_capitalized} + + if debug: + print(f"Took {round(time.time() - start, 5)} seconds") + return results_dict + + def get_distinct_category_list(self, debug: bool = False) -> list: + start = time.time() + + sql_query = f"""SELECT DISTINCT category FROM nodes""" + matching_rows = self._execute_sql_query(sql_query) + result = [] + for row in matching_rows: + result.append(row[0]) + + if debug: + print(f"Took {round(time.time() - start, 5)} seconds") + return result + def get_normalizer_results(self, entities: Optional[Union[str, Set[str], List[str]]], + max_synonyms: int = 1000000, debug: bool = False) -> dict: start = time.time() @@ -296,6 +343,15 @@ def get_normalizer_results(self, entities: Optional[Union[str, Set[str], List[st entities = entities_dict.get("terms") output_format = entities_dict.get("format") + # Allow the caller to encode the max_synonyms in the input dict (used by web UI) + max_synonyms_raw = entities_dict.get("max_synonyms") + try: + max_synonyms_int = int(max_synonyms_raw) + if max_synonyms_int > 0: + max_synonyms = max_synonyms_int + except: + pass + # Convert any input curies to Set format entities_set = self._convert_to_set_format(entities) @@ -307,6 +363,26 @@ def get_normalizer_results(self, entities: Optional[Union[str, Set[str], List[st equivalent_curies_dict_names = self.get_equivalent_nodes(names=unrecognized_entities, include_unrecognized_entities=False) equivalent_curies_dict.update(equivalent_curies_dict_names) + # Truncate synonyms to max number allowed per node + # First record counts for full list of equivalent curies before trimming + equiv_curie_counts_untrimmed = {input_entity: len(equivalent_curies) if equivalent_curies else 0 + for input_entity, equivalent_curies in equivalent_curies_dict.items()} + all_node_ids_untrimmed = set().union(*equivalent_curies_dict.values()) + sql_query_template = f""" + SELECT N.id, N.category + FROM nodes as N + WHERE N.id in ('{self.placeholder_lookup_values_str}')""" + matching_rows = self._run_sql_query_in_batches(sql_query_template, all_node_ids_untrimmed) + categories_map_untrimmed = {row[0]: f"biolink:{row[1]}" for row in matching_rows} + category_counts_untrimmed = dict() + equivalent_curies_dict_trimmed = dict() + for input_entity, equivalent_curies in equivalent_curies_dict.items(): + category_counts_untrimmed[input_entity] = dict(Counter([categories_map_untrimmed[equiv_curie] + for equiv_curie in equivalent_curies])) + equivalent_curies_trimmed = equivalent_curies[:max_synonyms] if equivalent_curies else None + equivalent_curies_dict_trimmed[input_entity] = equivalent_curies_trimmed + equivalent_curies_dict = equivalent_curies_dict_trimmed + # Then get info for all of those equivalent nodes # Note: We don't need to query by capitalized curies because these are all curies that exist in the synonymizer all_node_ids = set().union(*equivalent_curies_dict.values()) @@ -340,13 +416,14 @@ def get_normalizer_results(self, entities: Optional[Union[str, Set[str], List[st "SRI_normalizer_name": cluster_rep["name_sri"], "SRI_normalizer_category": cluster_rep["category_sri"], "SRI_normalizer_curie": cluster_id if cluster_rep["category_sri"] else None}, - "categories": defaultdict(int), + "total_synonyms": equiv_curie_counts_untrimmed[input_entity], + "categories": category_counts_untrimmed[input_entity], "nodes": [nodes_dict[equivalent_curie] for equivalent_curie in equivalent_curies]} - # Do some post-processing (tally up category counts and remove no-longer-needed 'cluster_id' property) + # Do some post-processing (remove no-longer-needed 'cluster_id' property) + normalizer_info = None for normalizer_info in results_dict.values(): for equivalent_node in normalizer_info["nodes"]: - normalizer_info["categories"][equivalent_node["category"]] += 1 if "cluster_id" in equivalent_node: del equivalent_node["cluster_id"] if "cluster_preferred_name" in equivalent_node: @@ -368,11 +445,26 @@ def get_normalizer_results(self, entities: Optional[Union[str, Set[str], List[st for dict_key in keys_to_delete: del normalizer_info[dict_key] # Otherwise add in cluster graphs + elif output_format == "slim": + pass else: for normalizer_info in results_dict.values(): if normalizer_info: normalizer_info["knowledge_graph"] = self._get_cluster_graph(normalizer_info) + # Attempt to squash NaNs, which are not legal in JSON. Turn them into nulls + if ( normalizer_info is not None and 'knowledge_graph' in normalizer_info and + normalizer_info["knowledge_graph"] is not None and 'edges' in normalizer_info["knowledge_graph"] and + isinstance(normalizer_info["knowledge_graph"]['edges'],dict) ): + for edge_name, edge_data in normalizer_info["knowledge_graph"]['edges'].items(): + if 'attributes' in edge_data and isinstance(edge_data['attributes'], list): + for attribute in edge_data['attributes']: + try: + if 'value' in attribute and math.isnan(attribute['value']): + attribute['value'] = None + except: + pass + if debug: print(f"Took {round(time.time() - start, 5)} seconds") return results_dict @@ -495,7 +587,13 @@ def _get_cluster_graph(self, normalizer_info: dict) -> dict: intra_cluster_edge_ids_str = "[]" if cluster_row[0] == "nan" else cluster_row[0] intra_cluster_edge_ids = ast.literal_eval(intra_cluster_edge_ids_str) # Lists are stored as strings in sqlite - edges_query = f"SELECT * FROM edges WHERE id IN ('{self._convert_to_str_format(intra_cluster_edge_ids)}')" + # Get rid of any orphan edges (may be present if max_synonyms is specified in get_normalizer_results()) + subj_obj_query = f"SELECT id, subject, object FROM edges WHERE id IN ('{self._convert_to_str_format(intra_cluster_edge_ids)}')" + subj_obj_rows = self._execute_sql_query(subj_obj_query) + intra_cluster_edge_ids_trimmed = {edge_id for edge_id, subject_id, object_id in subj_obj_rows + if subject_id in kg.nodes and object_id in kg.nodes} + + edges_query = f"SELECT * FROM edges WHERE id IN ('{self._convert_to_str_format(intra_cluster_edge_ids_trimmed)}')" edge_rows = self._execute_sql_query(edges_query) edges_df = self._load_records_into_dataframe(edge_rows, "edges") edge_dicts = edges_df.to_dict(orient="records") diff --git a/code/ARAX/ResponseCache/reinitialize_database.py b/code/ARAX/ResponseCache/reinitialize_database.py index 9e0b41b0d..e27b48859 100644 --- a/code/ARAX/ResponseCache/reinitialize_database.py +++ b/code/ARAX/ResponseCache/reinitialize_database.py @@ -1,5 +1,5 @@ #!/bin/env python3 -# Reinitialize the Message/Feedback MySQL database +# Reinitialize the ResponseCache MySQL database import os import sys @@ -13,11 +13,11 @@ sys.exit(0) if sys.argv[1] != 'yes': - print("If you really want to delete and re-create the feedback/Message database, use:") + print("If you really want to delete and re-create the ResponseCache database, use:") print(" python reinitialize_database.py yes") sys.exit(0) -#### Create an RTX Feedback management object +#### Create an RTX ResponseCache management object response_cache = ResponseCache() #### Purge and re-create the database diff --git a/code/ARAX/ResponseCache/response_cache.py b/code/ARAX/ResponseCache/response_cache.py index 33f4a9c16..4a48709f2 100644 --- a/code/ARAX/ResponseCache/response_cache.py +++ b/code/ARAX/ResponseCache/response_cache.py @@ -1,5 +1,5 @@ #!/usr/bin/python3 -# Database definition and RTXFeedback class +# Database definition and ResponseCache class import sys def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) diff --git a/code/ARAX/Testing/test4_results_inference.py b/code/ARAX/Testing/test4_results_inference.py index df4e34bf0..2c943d56e 100644 --- a/code/ARAX/Testing/test4_results_inference.py +++ b/code/ARAX/Testing/test4_results_inference.py @@ -19,10 +19,10 @@ def main(): response = Response() #### Read message #2 from the database. This should be the acetaminophen proteins query result message - sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../UI/Feedback") - from RTXFeedback import RTXFeedback - araxdb = RTXFeedback() - message_dict = araxdb.getMessage(2) + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../ResponseCache") + from response_cache import ResponseCache + response_cache = ResponseCache() + message_dict = response_cache.get_response(314204) #### The stored message comes back as a dict. Transform it to objects messenger = ARAXMessenger() diff --git a/code/ARAX/test/test_ARAX_connect.py b/code/ARAX/test/test_ARAX_connect.py index 5e9e577d5..8b58750d0 100644 --- a/code/ARAX/test/test_ARAX_connect.py +++ b/code/ARAX/test/test_ARAX_connect.py @@ -83,8 +83,12 @@ def _virtual_tester(message: Message, edge_predicate: str, relation: str, attrib def test_connect_ulcerative_colitis_to_adalimumab(): query = {"operations": {"actions": [ "create_message", - "add_qnode(ids=MONDO:0005101, key=n00)", - "add_qnode(ids=UNII:FYS6T7F842, key=n01)", + "add_qnode(ids=MONDO:0005101, key=n_src)", + "add_qnode(ids=UNII:FYS6T7F842, key=n_dst)", + "add_qnode(categories=biolink:NamedThing, key=n_cns)", + "add_qedge(key=e_src_dst,subject=n_src,object=n_dst,predicates=biolink:related_to)", + "add_qedge(key=e_src_cns,subject=n_src,object=n_cns,predicates=biolink:related_to)", + "add_qedge(key=e_cns_dst,subject=n_cns,object=n_dst,predicates=biolink:related_to)", "connect(action=connect_nodes, max_path_length=3)", "return(message=true, store=false)" ]}} @@ -93,13 +97,17 @@ def test_connect_ulcerative_colitis_to_adalimumab(): assert len(message.query_graph.edges) == 3 assert len(message.results) > 0 -@pytest.mark.slow + def test_connect_resveratrol_glyoxalase(): query = {"operations": {"actions": [ "create_message", - "add_qnode(ids=PUBCHEM.COMPOUND:445154, key=n00)", - "add_qnode(ids=NCBIGene:2739, key=n01)", - "connect(action=connect_nodes, max_path_length=3)", + "add_qnode(ids=PUBCHEM.COMPOUND:445154, key=n_src)", + "add_qnode(ids=NCBIGene:2739, key=n_dst)", + "add_qnode(categories=biolink:NamedThing, key=n_cns)", + "add_qedge(key=e_src_dst,subject=n_src,object=n_dst,predicates=biolink:related_to)", + "add_qedge(key=e_src_cns,subject=n_src,object=n_cns,predicates=biolink:related_to)", + "add_qedge(key=e_cns_dst,subject=n_cns,object=n_dst,predicates=biolink:related_to)", + "connect(action=connect_nodes, max_path_length=4)", "return(message=true, store=false)" ]}} [response, message] = _do_arax_query(query) @@ -107,13 +115,15 @@ def test_connect_resveratrol_glyoxalase(): assert len(message.query_graph.edges) == 3 assert len(message.results) > 0 - -@pytest.mark.slow def test_connect_pde5i_alzheimer(): query = {"operations": {"actions": [ "create_message", - "add_qnode(ids=MONDO:0004975, key=n00)", - "add_qnode(ids=UMLS:C1318700, key=n01)", + "add_qnode(ids=MONDO:0004975, key=n_src)", + "add_qnode(ids=UMLS:C1318700, key=n_dst)", + "add_qnode(categories=biolink:NamedThing, key=n_cns)", + "add_qedge(key=e_src_dst,subject=n_src,object=n_dst,predicates=biolink:related_to)", + "add_qedge(key=e_src_cns,subject=n_src,object=n_cns,predicates=biolink:related_to)", + "add_qedge(key=e_cns_dst,subject=n_cns,object=n_dst,predicates=biolink:related_to)", "connect(action=connect_nodes, max_path_length=4)", "return(message=true, store=false)" ]}} @@ -122,21 +132,80 @@ def test_connect_pde5i_alzheimer(): assert len(message.query_graph.edges) == 3 assert len(message.results) > 0 -@pytest.mark.slow + def test_glucose_diabetes(): query = {"operations": {"actions": [ "create_message", - "add_qnode(name=CHEBI:37626, key=n0)", - "add_qnode(name=MONDO:0005015, key=n1)", + "add_qnode(name=CHEBI:37626, key=n_src)", + "add_qnode(name=MONDO:0005015, key=n_dst)", + "add_qnode(categories=biolink:NamedThing, key=n_cns)", + "add_qedge(key=e_src_dst,subject=n_src,object=n_dst,predicates=biolink:related_to)", + "add_qedge(key=e_src_cns,subject=n_src,object=n_cns,predicates=biolink:related_to)", + "add_qedge(key=e_cns_dst,subject=n_cns,object=n_dst,predicates=biolink:related_to)", "connect(action=connect_nodes, max_path_length=3)", - "filter_results(action=limit_number_of_results, max_results=30)", - "return(message=true, store=true)" + "return(message=true, store=false)" ]}} [response, message] = _do_arax_query(query) assert response.status == 'OK' assert len(message.query_graph.edges) == 3 assert len(message.results) > 0 +def test_query_by_query_graph_2(): + query = { + "message": { + "query_graph": { + "nodes": { + "n0": { + "ids": [ + "CHEBI:37626" + ] + }, + "un": { + "categories": [ + "biolink:NamedThing" + ] + }, + "n2": { + "ids": [ + "MONDO:0005015" + ] + } + }, + "edges": { + "e0": { + "subject": "n0", + "object": "un", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + }, + "e1": { + "subject": "un", + "object": "n2", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + }, + "e2": { + "subject": "n0", + "object": "n2", + "predicates": [ + "biolink:related_to" + ], + "knowledge_type": "inferred" + } + } + } + } + } + araxq = ARAXQuery() + araxq.query(query) + response = araxq.response + assert response.status == 'OK' + assert len(response.envelope.message.query_graph.edges) == 3 + assert len(response.envelope.message.results) > 0 if __name__ == "__main__": pytest.main(['-v']) diff --git a/code/ARAX/test/test_ARAX_expand.py b/code/ARAX/test/test_ARAX_expand.py index 02207a0e4..235afb228 100644 --- a/code/ARAX/test/test_ARAX_expand.py +++ b/code/ARAX/test/test_ARAX_expand.py @@ -4,7 +4,6 @@ Run all expand tests: pytest -v test_ARAX_expand.py Run a single test: pytest -v test_ARAX_expand.py -k test_branched_query """ - import sys import os from typing import List, Dict, Optional @@ -131,6 +130,15 @@ def _check_attribute(attribute: Attribute): assert isinstance(attribute.description, str) or attribute.description is None +def get_primary_knowledge_source(edge: Edge) -> str: + return next(source.resource_id for source in edge.sources if source.resource_role == "primary_knowledge_source") + +def get_support_graphs_attribute(edge: Edge) -> any: + sg_attrs = [attribute for attribute in edge.attributes if attribute.attribute_type_id == "biolink:support_graphs"] + assert len(sg_attrs) <= 1 + return sg_attrs[0] if sg_attrs else None + + @pytest.mark.slow def test_720_multiple_qg_ids_in_different_results(): actions_list = [ @@ -337,18 +345,6 @@ def test_873_consider_both_gene_and_protein(): assert set(nodes_by_qg_id_protein['n01']) == set(nodes_by_qg_id_gene['n01']) -def test_987_override_node_categories(): - actions_list = [ - "add_qnode(name=DOID:8398, key=n00)", - "add_qnode(categories=biolink:PhenotypicFeature, key=n01)", - "add_qedge(subject=n00, object=n01, predicates=biolink:has_phenotype, key=e00)", - "expand(edge_key=e00, kp=infores:rtx-kg2)", - "return(message=true, store=false)" - ] - nodes_by_qg_id, edges_by_qg_id = _run_query_and_do_standard_testing(actions_list) - assert all('biolink:PhenotypicFeature' in node.categories for node in nodes_by_qg_id['n01'].values()) - - @pytest.mark.external def test_cohd_expand(): actions_list = [ @@ -1491,7 +1487,7 @@ def test_kg2_version(): # Then grab KG2 version from the OpenAPI spec code_dir = os.path.dirname(os.path.abspath(__file__)) + "/../../" - kg2_openapi_yaml_path = f"{code_dir}/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml" + kg2_openapi_yaml_path = f"{code_dir}/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml" with open(kg2_openapi_yaml_path) as kg2_api_file: kg2_openapi_configuration = yaml.safe_load(kg2_api_file) kg2_openapi_version = kg2_openapi_configuration["info"]["version"] @@ -1516,7 +1512,7 @@ def test_klat_attributes(): if attribute.attribute_type_id in {"biolink:knowledge_level", "biolink:agent_type"}) -def test_treats_patch_issue_2328(): +def test_treats_patch_issue_2328_a(): query = { "nodes": { "disease": { @@ -1543,19 +1539,25 @@ def test_treats_patch_issue_2328(): } } } - nodes_by_qg_id, edges_by_qg_id = _run_query_and_do_standard_testing(json_query=query) + nodes_by_qg_id, edges_by_qg_id, message = _run_query_and_do_standard_testing(json_query=query, return_message=True) assert edges_by_qg_id["t_edge"] - kg2_edges_treats = [edge for edge in edges_by_qg_id["t_edge"].values() - if any(source.resource_id == "infores:rtx-kg2" for source in edge.sources)] - print(f"Answer includes {len(kg2_edges_treats)} edges from KG2") - assert kg2_edges_treats - print(kg2_edges_treats) - for edge in kg2_edges_treats: - assert edge.predicate == "biolink:treats" - assert edge.attributes - assert not any(source.resource_id == "infores:semmeddb" for source in edge.sources) - - # Verify that the predicate editing doesn't happen outside of inferred mode + # Make sure the KG2 edges, which are higher-level treats edges, are in the KG (used as support edges) + creative_expand_treats_edges = [edge for edge_key, edge in message.knowledge_graph.edges.items() + if edge_key.startswith("creative_expand")] + support_edge_keys = set() + for edge in creative_expand_treats_edges: + aux_graph_keys = get_support_graphs_attribute(edge).value + assert aux_graph_keys + for aux_graph_key in aux_graph_keys: + aux_graph = message.auxiliary_graphs[aux_graph_key] + support_edge_keys.update(set(aux_graph.edges)) + support_edges = [message.knowledge_graph.edges[edge_key] for edge_key in support_edge_keys] + + assert any(source.resource_id == "infores:rtx-kg2" for edge in support_edges for source in edge.sources) + assert not any(source.resource_id == "infores:semmeddb" for edge in support_edges for source in edge.sources) + +def test_treats_patch_issue_2328_b(): + # Verify that the edge editing doesn't happen outside of inferred mode query = { "nodes": { "disease": { @@ -1591,5 +1593,52 @@ def test_treats_patch_issue_2328(): assert any(edge for edge in kg2_edges_treats_or if edge.predicate == "biolink:applied_to_treat") +@pytest.mark.external +def test_creative_treats_predicate_alteration_2412(): + query = { + "nodes": { + "n00": { + "ids": ["MONDO:0018958"] + }, + "n01": { + "categories": ["biolink:SmallMolecule"] + } + }, + "edges": { + "e00": { + "subject": "n01", + "object": "n00", + "predicates": ["biolink:treats"], + "knowledge_type": "inferred" + } + } + } + nodes_by_qg_id, edges_by_qg_id, message = _run_query_and_do_standard_testing(json_query=query, return_message=True) + + # Make sure we appear to have creative expand treats edges + assert edges_by_qg_id and edges_by_qg_id.get("e00") + assert any(edge_key for edge_key in edges_by_qg_id["e00"] if edge_key.startswith("creative_expand")) + primary_sources_e00 = {get_primary_knowledge_source(edge) for edge in edges_by_qg_id["e00"].values()} + print(f"primary_knowledge_sources are: {primary_sources_e00}") + assert "infores:arax" in primary_sources_e00 + + # Make sure 'support' edges, like from ROBOKOP, are present in the KG + primary_sources_all = {get_primary_knowledge_source(edge) for edges_dict in edges_by_qg_id.values() + for edge in edges_dict.values()} + assert "infores:automat-robokop" in primary_sources_all + + # Make sure that creative expand treats edges have support graphs that actually exist + for edge_key, edge in edges_by_qg_id["e00"].items(): + if get_primary_knowledge_source(edge) == "infores:arax": + support_graph_attr = get_support_graphs_attribute(edge) + assert support_graph_attr + aux_graph_keys = eu.convert_to_set(support_graph_attr.value) + assert aux_graph_keys.issubset(message.auxiliary_graphs) + for aux_graph_key in aux_graph_keys: + aux_graph = message.auxiliary_graphs[aux_graph_key] + assert set(aux_graph.edges).issubset(message.knowledge_graph.edges) + + + if __name__ == "__main__": pytest.main(['-v', 'test_ARAX_expand.py']) diff --git a/code/ARAX/test/test_ARAX_infer.py b/code/ARAX/test/test_ARAX_infer.py index 7f884dbf1..cd6717f5d 100644 --- a/code/ARAX/test/test_ARAX_infer.py +++ b/code/ARAX/test/test_ARAX_infer.py @@ -82,7 +82,7 @@ def _virtual_tester(message: Message, edge_predicate: str, relation: str, attrib def test_xdtd_infer_castleman_disease_1(): query = {"operations": {"actions": [ "create_message", - "infer(action=drug_treatment_graph_expansion,node_curie=MONDO:0015564)", + "infer(action=drug_treatment_graph_expansion,disease_curie=MONDO:0015564)", "return(message=true, store=true)" ]}} [response, message] = _do_arax_query(query) @@ -94,7 +94,7 @@ def test_xdtd_infer_castleman_disease_1(): def test_xdtd_infer_castleman_disease_2(): query = {"operations": {"actions": [ "create_message", - "infer(action=drug_treatment_graph_expansion,node_curie=MONDO:0015564,n_drugs=2,n_paths=15)", + "infer(action=drug_treatment_graph_expansion,disease_curie=MONDO:0015564,n_drugs=2,n_paths=15)", "return(message=true, store=true)" ]}} [response, message] = _do_arax_query(query) @@ -103,6 +103,49 @@ def test_xdtd_infer_castleman_disease_2(): assert message.auxiliary_graphs assert len(message.results) > 0 +def test_xdtd_issue2160(): + query = { + "message": {"query_graph": + { + "edges": { + "t_edge": { + "attribute_constraints": [], + "knowledge_type": "inferred", + "object": "on", + "predicates": [ + "biolink:treats" + ], + "qualifier_constraints": [], + "subject": "sn" + } + }, + "nodes": { + "on": { + "categories": [ + "biolink:Disease" + ], + "constraints": [], + "ids": [ + "MONDO:0019600" + ], + }, + "sn": { + "categories": [ + "biolink:SmallMolecule" + ], + "constraints": [], + "ids": [ + "PUBCHEM.COMPOUND:23931" + ], + } + } + } + } + } + [response, message] = _do_arax_query(query) + # return response, message + assert response.status == 'OK' + def test_xdtd_with_qg(): query = { "message": {"query_graph": { @@ -125,7 +168,7 @@ def test_xdtd_with_qg(): } }, "operations": {"actions": [ - "infer(action=drug_treatment_graph_expansion,node_curie=test_xdtd_with_qg,qedge_id=t_edge)", + "infer(action=drug_treatment_graph_expansion, disease_curie=test_xdtd_with_qg, qedge_id=t_edge)", "return(message=true, store=true)" ]} } @@ -158,7 +201,7 @@ def test_xdtd_with_qg2(): } }, "operations": {"actions": [ - "infer(action=drug_treatment_graph_expansion,node_curie=MONDO:0015564,qedge_id=t_edge)", + "infer(action=drug_treatment_graph_expansion, disease_curie=MONDO:0015564, qedge_id=t_edge)", "return(message=true, store=true)" ]} } @@ -191,7 +234,7 @@ def test_xdtd_with_qg3(): } }, "operations": {"actions": [ - "infer(action=drug_treatment_graph_expansion,node_curie=MONDO:0015564,qedge_id=t_edge,n_drugs=10,n_paths=10)", + "infer(action=drug_treatment_graph_expansion, disease_curie=MONDO:0015564, qedge_id=t_edge, n_drugs=10, n_paths=10)", "return(message=true, store=true)" ]} } @@ -246,7 +289,7 @@ def test_xcrg_infer_bomeol(): edge_key = creative_mode_edges[0] edge_result = message.knowledge_graph.edges[edge_key] assert edge_result.predicate in ['biolink:regulates', 'biolink:affects'] - + @pytest.mark.slow def test_xcrg_with_qg1(): query = { @@ -313,7 +356,7 @@ def test_xcrg_with_qg2(): "r_edge": { "object": "gene", "subject": "chemical", - "predicates": ['biolink:regulates', 'biolink:affects'], + "predicates": ['biolink:affects'], "knowledge_type": "inferred", "qualifier_constraints": [ { @@ -345,39 +388,52 @@ def test_xcrg_with_qg2(): edge_result = message.knowledge_graph.edges[edge_key] assert edge_result.predicate == 'biolink:regulates' - @pytest.mark.slow def test_xcrg_with_only_qg(): query = { - "message": {"query_graph": { - "nodes": { - "gene": { - "ids": ["UniProtKB:P48736"] - }, - "chemical": { - "categories": ['biolink:ChemicalEntity', 'biolink:ChemicalMixture','biolink:SmallMolecule'] - } - }, + "message": {"query_graph": { "edges": { - "r_edge": { - "object": "gene", - "subject": "chemical", - "predicates": ["biolink:regulates", "biolink:affects"], - "knowledge_type": "inferred", - "qualifier_constraints": [ + "t_edge": { + "knowledge_type": "inferred", + "object": "ON", + "predicates": [ + "biolink:affects" + ], + "qualifier_constraints": [ + { + "qualifier_set": [ { - "qualifier_set": [ - { - "qualifier_type_id": "biolink:object_direction_qualifier", - "qualifier_value": "decreased" - } - ] + "qualifier_type_id": "biolink:object_aspect_qualifier", + "qualifier_value": "activity_or_abundance" + }, + { + "qualifier_type_id": "biolink:object_direction_qualifier", + "qualifier_value": "decreased" } ] + } + ], + "subject": "SN" + } + }, + "nodes": { + "ON": { + "categories": [ + "biolink:Gene", + "biolink:Protein" + ], + "ids": [ + "NCBIGene:3043" + ] + }, + "SN": { + "categories": [ + "biolink:ChemicalEntity" + ] } } - } - } + } + } } [response, message] = _do_arax_query(query) # return response, message @@ -388,7 +444,7 @@ def test_xcrg_with_only_qg(): if len(creative_mode_edges) != 0: edge_key = creative_mode_edges[0] edge_result = message.knowledge_graph.edges[edge_key] - assert edge_result.predicate == 'biolink:regulates' + assert edge_result.predicate == 'biolink:affects' @pytest.mark.slow def test_xcrg_infer_dsl(): diff --git a/code/ARAX/test/test_ARAX_json_queries.py b/code/ARAX/test/test_ARAX_json_queries.py index cd20955cf..fa0a72dae 100644 --- a/code/ARAX/test/test_ARAX_json_queries.py +++ b/code/ARAX/test/test_ARAX_json_queries.py @@ -180,7 +180,7 @@ def test_workflow1(): } nodes_by_qg_id, edges_by_qg_id, response = _run_query_and_do_standard_testing(json_query=query) essences = [x.to_dict()['essence'].upper() for x in response.envelope.message.results] - assert 'CYCLOOXYGENASE' in essences + assert 'VANILLOID RECEPTOR' in essences @pytest.mark.slow def test_workflow2(): diff --git a/code/ARAX/test/test_ARAX_ranker.py b/code/ARAX/test/test_ARAX_ranker.py index 2194cd36a..7b87116c3 100644 --- a/code/ARAX/test/test_ARAX_ranker.py +++ b/code/ARAX/test/test_ARAX_ranker.py @@ -265,6 +265,7 @@ def test_ARAXRanker_test6_asset72(): assert rank_right_answer != -1 assert (rank_right_answer < 0.1 * total_results) or (rank_right_answer < 0.3 * total_results) +@pytest.mark.slow def test_ARAXRanker_test9_asset614(): # test 'famotidine treats Gastroesophageal Reflux Disease' expected_answer = 'famotidine' diff --git a/code/ARAX/test/test_ARAX_resultify.py b/code/ARAX/test/test_ARAX_resultify.py index 33b411291..6cbc3f08d 100644 --- a/code/ARAX/test/test_ARAX_resultify.py +++ b/code/ARAX/test/test_ARAX_resultify.py @@ -30,7 +30,7 @@ DIABETES_CURIE = "MONDO:0005015" TYPE_1_DIABETES_CURIE = "MONDO:0005147" -INSULIN_CURIE = "PUBCHEM.COMPOUND:16137271" +INSULIN_CURIE = "UNII:4FT78T86XV" HEART_DISEASE_CURIE = "MONDO:0005267" @@ -1478,6 +1478,7 @@ def test_node_binding_query_id_one_hop_single_input_curie(): assert any(edge.predicate == "biolink:subclass_of" for edge in message.knowledge_graph.edges.values()) insulin_results = [result for result in message.results if any([node_binding.id == INSULIN_CURIE for node_binding in result.node_bindings["n01"]])] + assert len(insulin_results) == 1 diff --git a/code/ARAX/test/test_ARAX_synonymizer.py b/code/ARAX/test/test_ARAX_synonymizer.py index 945a87a48..3f8500e98 100644 --- a/code/ARAX/test/test_ARAX_synonymizer.py +++ b/code/ARAX/test/test_ARAX_synonymizer.py @@ -417,5 +417,26 @@ def test_cluster_graphs(): assert node["attributes"] +def test_truncate_cluster(): + synonymizer = NodeSynonymizer() + results = synonymizer.get_normalizer_results([ACETAMINOPHEN_CURIE, PARKINSONS_CURIE], max_synonyms=2) + + print(json.dumps(results[ACETAMINOPHEN_CURIE]["nodes"], indent=2)) + assert len(results[ACETAMINOPHEN_CURIE]["nodes"]) == 2 + assert len(results[ACETAMINOPHEN_CURIE]["knowledge_graph"]["nodes"]) == 2 + assert len(results[ACETAMINOPHEN_CURIE]["knowledge_graph"]["edges"]) < 20 + assert results[ACETAMINOPHEN_CURIE]["total_synonyms"] > 2 + assert results[ACETAMINOPHEN_CURIE]["categories"]["biolink:Drug"] > 2 + assert "biolink:Disease" not in results[ACETAMINOPHEN_CURIE]["categories"] + + print(json.dumps(results[PARKINSONS_CURIE]["nodes"], indent=2)) + assert len(results[PARKINSONS_CURIE]["nodes"]) == 2 + assert len(results[PARKINSONS_CURIE]["knowledge_graph"]["nodes"]) == 2 + assert len(results[PARKINSONS_CURIE]["knowledge_graph"]["edges"]) < 20 + assert results[PARKINSONS_CURIE]["total_synonyms"] > 2 + assert results[PARKINSONS_CURIE]["categories"]["biolink:Disease"] > 2 + assert "biolink:Drug" not in results[PARKINSONS_CURIE]["categories"] + + if __name__ == "__main__": pytest.main(['-v', 'test_ARAX_synonymizer.py']) diff --git a/code/RTXConfiguration.py b/code/RTXConfiguration.py index 673a1b852..1580ef8f8 100644 --- a/code/RTXConfiguration.py +++ b/code/RTXConfiguration.py @@ -46,27 +46,7 @@ def _private_init(self): # Determine current ARAX and TRAPI versions # YAML is super slow to ready, so refresh a JSON if necessary or read the JSON, which is much faster openapi_yaml_path = f"{file_dir}/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml" - openapi_json_path = f"{file_dir}/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.json" - if not os.path.exists(openapi_json_path) or os.path.getmtime(openapi_yaml_path) > os.path.getmtime(openapi_json_path): - if DEBUG: - t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. OpenAPI JSON file is missing or stale") - with open(openapi_yaml_path) as api_file: - openapi_configuration = yaml.safe_load(api_file) - if DEBUG: - t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Read OpenAPI YAML file") - with open(openapi_json_path, 'w') as api_file: - json.dump(openapi_configuration, api_file, default=str) - if DEBUG: - t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Created OpenAPI JSON file") - else: - with open(openapi_json_path) as api_file: - openapi_configuration = json.load(api_file) - if DEBUG: - t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Read OpenAPI JSON file") + openapi_configuration = self.load_openapi_json(openapi_yaml_path, t0) self.arax_version = openapi_configuration["info"]["version"] self.trapi_version = openapi_configuration["info"]["x-trapi"]["version"] @@ -107,10 +87,14 @@ def _private_init(self): # Determine our maturity maturity_override_value = self._read_override_file(f"{file_dir}/maturity_override.txt") + if DEBUG: + print(f"maturity_override_value={maturity_override_value} from {file_dir}/maturity_override.txt") if maturity_override_value: self.maturity = maturity_override_value else: # Otherwise we'll dynamically determine our maturity based on instance/domain name and/or branch + if DEBUG: + print(f"Auto-detecting maturity: self.domain={self.domain}, self.instance_name={self.instance_name}") if self.domain in ["arax.ci.transltr.io", "kg2.ci.transltr.io"]: self.maturity = "staging" elif self.domain in ["arax.test.transltr.io", "kg2.test.transltr.io"] or self.current_branch_name == "itrb-test": @@ -119,14 +103,14 @@ def _private_init(self): self.maturity = "production" elif self.domain == "arax.ncats.io": if self.instance_name in ["ARAX", "kg2"] or self.current_branch_name == "production": - self.maturity = "production" + self.maturity = "staging" else: self.maturity = "development" else: self.maturity = "development" if DEBUG: t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Determined maturity") + print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Determined maturity={self.maturity}") # Determine if this is an ITRB instance or our CICD instance self.is_itrb_instance = "transltr.io" in self.domain # Hacky, but works @@ -208,26 +192,17 @@ def _private_init(self): self.mysql_feedback_username = self.config_secrets["mysql_feedback"]["username"] self.mysql_feedback_password = self.config_secrets["mysql_feedback"]["password"] - # Set up correct Plover URL (since it's not registered in SmartAPI) - plover_url_override_value = self._read_override_file(f"{file_dir}/plover_url_override.txt") - if plover_url_override_value: - self.plover_url = plover_url_override_value - elif self.maturity in {"production", "prod"}: - self.plover_url = self.config_dbs["plover"]["prod"] - elif self.maturity in {"testing", "test"}: - self.plover_url = self.config_dbs["plover"]["test"] - else: # Includes staging, development - self.plover_url = self.config_dbs["plover"]["dev"] - if DEBUG: - t1 = timeit.default_timer() - print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Read override file {file_dir}/plover_url_override.txt") - - # Set KG2 url if an override was provided - kg2_url_override_value = self._read_override_file(f"{file_dir}/kg2_url_override.txt") - if kg2_url_override_value: - self.rtx_kg2_url = kg2_url_override_value + # Find the correct KG2/Plover URL (defaults to our SmartAPI yaml, but can override in config_dbs.json) + plover_url_override = self.config_dbs.get("plover_url_override") + if plover_url_override: + self.plover_url = plover_url_override.strip("/") else: - self.rtx_kg2_url = None + # Default to what we list in our SmartAPI registration + # YAML is super slow to ready, so refresh a JSON if necessary or read the JSON, which is much faster + openapi_kg2_yaml_path = f"{file_dir}/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml" + kg2_openapi_config = self.load_openapi_json(openapi_kg2_yaml_path, t0) + servers_map = {server["x-maturity"]: server for server in kg2_openapi_config["servers"]} + self.plover_url = servers_map[self.maturity]["url"] # Default to KG2c neo4j self.neo4j_kg2 = "KG2c" @@ -264,6 +239,33 @@ def get_neo4j_info(self, kg2_type: str) -> dict: 'username': config_secrets["neo4j"][kg2_type]["username"], 'password': config_secrets["neo4j"][kg2_type]["password"]} + @staticmethod + def load_openapi_json(yaml_path: str, t0: any) -> dict: + # YAML is super slow to ready, so refresh a JSON if necessary or read the JSON, which is much faster + json_path = yaml_path.replace(".yaml", ".json") + if not os.path.exists(json_path) or os.path.getmtime(yaml_path) > os.path.getmtime(json_path): + if DEBUG: + t1 = timeit.default_timer() + print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. OpenAPI JSON file is missing or stale") + with open(yaml_path) as api_file: + openapi_configuration = yaml.safe_load(api_file) + if DEBUG: + t1 = timeit.default_timer() + print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Read OpenAPI YAML file") + with open(json_path, 'w') as api_file: + json.dump(openapi_configuration, api_file, default=str) + if DEBUG: + t1 = timeit.default_timer() + print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Created OpenAPI JSON file") + else: + with open(json_path) as api_file: + openapi_configuration = json.load(api_file) + if DEBUG: + t1 = timeit.default_timer() + print(f"Elapsed time: {(t1-t0)*1000:.2f} ms. Read OpenAPI JSON file") + return openapi_configuration + + def main(): t0 = timeit.default_timer() @@ -273,7 +275,6 @@ def main(): kg2_info = rtxConfig.get_neo4j_info("KG2c") pprint.pprint(kg2_info) print("plover url: %s" % rtxConfig.plover_url) - print("rtx-kg2 url: %s" % rtxConfig.rtx_kg2_url) print("mysql feedback host: %s" % rtxConfig.mysql_feedback_host) print("mysql feedback port: %s" % rtxConfig.mysql_feedback_port) print("mysql feedback username: %s" % rtxConfig.mysql_feedback_username) diff --git a/code/UI/Feedback/Notes.txt b/code/UI/Feedback/Notes.txt deleted file mode 100644 index e618aeef9..000000000 --- a/code/UI/Feedback/Notes.txt +++ /dev/null @@ -1,39 +0,0 @@ - -Notes trying to SQLAlchemy working for the feedback system - -Useful web sites: -https://www.sqlalchemy.org/library.html#recipes -https://www.pythoncentral.io/introductory-tutorial-python-sqlalchemy/ - -Installation: -- Run ConEmu as Administrator -pip3 install sqlalchemy -pip3 install --upgrade pip - -cd C:\Users\deutsch\Subversion\RTX\trunk\code\UI\Feedback -python Test1.py - -#### This was supposed to help make a cute little ER diagram, but failed to install -#### Possibly needs a reboot after installing the C++ libraries, which I hadn't done yet -pip3 install eralchemy - - - -TO do: -- Update the YAML API for: - - Fetch a single response: - http://rtx.ncats.io/api/rtx/v1/response/26 - - Fetch a single result: - http://rtx.ncats.io/api/rtx/v1/response/26/result/333 - - Fetch the feedback for a particular response (all results) - GET http://rtx.ncats.io/api/rtx/v1/feedback/response/26 - - Fetch the feedback for a particular result - GET http://rtx.ncats.io/api/rtx/v1/feedback/response/26/result/333 - - Store the feedback for a particlar result - POST http://rtx.ncats.io/api/rtx/v1/feedback - including response=26 result=333 diff --git a/code/UI/Feedback/RTXFeedback.py b/code/UI/Feedback/RTXFeedback.py deleted file mode 100644 index c6f9dcdd0..000000000 --- a/code/UI/Feedback/RTXFeedback.py +++ /dev/null @@ -1,803 +0,0 @@ -#!/usr/bin/python3 -# Database definition and RTXFeedback class -import sys -def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) - -import os -import sys -import re -import json -import ast -from datetime import datetime -import pickle -import hashlib -import collections -import requests -import json -from flask import Flask,redirect - -from sqlalchemy import Column, ForeignKey, Integer, Float, String, DateTime, Text, PickleType, LargeBinary -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import relationship -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker -from sqlalchemy import desc -from sqlalchemy import inspect - -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../") -from RTXConfiguration import RTXConfiguration - -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../OpenAPI/python-flask-server/") -from swagger_server.models.result_feedback import ResultFeedback -from swagger_server.models.feedback import Feedback -from swagger_server.models.message import Message as TxMessage -from swagger_server.models.previous_message_processing_plan import PreviousMessageProcessingPlan - -#import Enricher -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../ARAX/ARAXQuery") -from actions_parser import ActionsParser -from ARAX_filter import ARAXFilter - -Base = declarative_base() - -#### Define the database tables as classes -class Message(Base): - __tablename__ = 'message09' - message_id = Column(Integer, primary_key=True) - message_datetime = Column(DateTime, nullable=False) - restated_question = Column(String(255), nullable=False) - query_type = Column(String(50), nullable=False) - terms = Column(String(1024), nullable=False) - tool_version = Column(String(50), nullable=False) - result_code = Column(String(50), nullable=False) - message = Column(Text, nullable=False) - n_results = Column(Integer, nullable=False) - # PickleType uses BLOB on MySQL, which is only 65k. Could not seem to work around it. Resort to LargeBinary with explicit length and my own pickling. - #message_object = Column(PickleType, nullable=False) - message_object = Column(LargeBinary(length=100500500), nullable=False) - -class Result(Base): - __tablename__ = 'result09' - result_id = Column(Integer, primary_key=True) - message_id = Column(Integer, ForeignKey('message09.message_id')) # for backward compat, this is retained as the *first* message_id - confidence = Column(Float, nullable=False) - n_nodes = Column(Integer, nullable=False) - n_edges = Column(Integer, nullable=False) - result_text = Column(Text, nullable=False) - result_object = Column(LargeBinary(length=16777200), nullable=False) - result_hash = Column(String(255), nullable=False) - message = relationship(Message) - -class Message_result(Base): - __tablename__ = 'message_result09' - message_result_id = Column(Integer, primary_key=True) - result_id = Column(Integer, ForeignKey('result09.result_id')) - message_id = Column(Integer, ForeignKey('message09.message_id')) - -class Commenter(Base): - __tablename__ = 'commenter09' - commenter_id = Column(Integer, primary_key=True) - full_name = Column(String(255), nullable=False) - email_address = Column(String(255), nullable=False) - password = Column(String(255), nullable=False) - -class Rating(Base): - __tablename__ = 'rating09' - rating_id = Column(Integer, primary_key=True) - score = Column(Integer, nullable=False) - tag = Column(String(50), nullable=False) - name = Column(String(255), nullable=False) - description = Column(String(255), nullable=False) - -class Expertise_level(Base): - __tablename__ = 'expertise_level09' - expertise_level_id = Column(Integer, primary_key=True) - score = Column(Integer, nullable=False) - tag = Column(String(50), nullable=False) - name = Column(String(255), nullable=False) - description = Column(String(255), nullable=False) - -class Result_rating(Base): - __tablename__ = 'result_rating09' - result_rating_id = Column(Integer, primary_key=True) - result_id = Column(Integer, ForeignKey('result09.result_id')) - commenter_id = Column(Integer, ForeignKey('commenter09.commenter_id')) - expertise_level_id = Column(Integer, ForeignKey('expertise_level09.expertise_level_id')) - rating_id = Column(Integer, ForeignKey('rating09.rating_id')) - comment_datetime = Column(DateTime, nullable=False) - comment = Column(Text, nullable=True) - result = relationship(Result) - commenter = relationship(Commenter) - expertise_level = relationship(Expertise_level) - rating = relationship(Rating) - - -#### The main RTXFeedback class -class RTXFeedback: - - #### Constructor - def __init__(self): - self.databaseName = "RTXFeedback" - self.connect() - - #### Destructor - def __del__(self): - self.disconnect() - - - #### Define attribute session - @property - def session(self) -> str: - return self._session - - @session.setter - def session(self, session: str): - self._session = session - - - #### Define attribute engine - @property - def engine(self) -> str: - return self._engine - - @engine.setter - def engine(self, engine: str): - self._engine = engine - - - #### Define attribute databaseName - @property - def databaseName(self) -> str: - return self._databaseName - - @databaseName.setter - def databaseName(self, databaseName: str): - self._databaseName = databaseName - - - #### Delete and create the RTXFeedback SQLite database. Careful! - def createDatabase(self): - print("Creating database") - #if os.path.exists(self.databaseName): - # os.remove(self.databaseName) - #engine = create_engine("sqlite:///"+self.databaseName) - rtxConfig = RTXConfiguration() - engine = create_engine("mysql+pymysql://" + rtxConfig.mysql_feedback_username + ":" + rtxConfig.mysql_feedback_password + "@" + rtxConfig.mysql_feedback_host + "/" + self.databaseName) - Base.metadata.drop_all(engine) - Base.metadata.create_all(engine) - self.connect() - - #### Create and store a database connection - def connect(self): - #engine = create_engine("sqlite:///"+self.databaseName) - rtxConfig = RTXConfiguration() - engine = create_engine("mysql+pymysql://" + rtxConfig.mysql_feedback_username + ":" + rtxConfig.mysql_feedback_password + "@" + rtxConfig.mysql_feedback_host + "/" + self.databaseName) - DBSession = sessionmaker(bind=engine) - session = DBSession() - self.session = session - self.engine = engine - - #### Create and store a database connection - def disconnect(self): - session = self.session - engine = self.engine - session.close() - try: - engine.dispose() - except: - pass - - - #### Pre-populate the database with reference data - def prepopulateDatabase(self): - session = self.session - rating = Rating(score=100,tag='Excellent',name='Excellent result',description='This result provides a correct and complete answer to the asked question.') - session.add(rating) - rating = Rating(score=90,tag='Very good',name='Very good result',description='This result provides a correct but slightly incomplete answer to the asked question.') - session.add(rating) - rating = Rating(score=80,tag='Intriguing',name='Intriguing result',description='This result may or may not be correct but provides a very intriguing thought process that bears further scrutiny.') - session.add(rating) - rating = Rating(score=50,tag='Good',name='Good result',description='This result provides a mostly correct but substantially incomplete answer to the asked question.') - session.add(rating) - rating = Rating(score=30,tag='Okay',name='Okay result',description='This result is not incorrect but is a vast oversimplification compared with a complete answer.') - session.add(rating) - rating = Rating(score=20,tag='Poor',name='Poor result',description='This result is some merit but includes thought paths that are incorrect.') - session.add(rating) - rating = Rating(score=10,tag='Irrelevant',name='Irrelevant result',description='This result does not address the question that was asked.') - session.add(rating) - rating = Rating(score=0,tag='Wrong',name='Wrong result',description='This result makes assertions that are wrong.') - session.add(rating) - session.commit() - - expertise_level = Expertise_level(score=100,tag='High',name='High expertise',description='Reviewer has a high degree of expertise related to this question and result. He or she writes papers on this question or treats patients with conditions related to this question.') - session.add(expertise_level) - expertise_level = Expertise_level(score=70,tag='Medium',name='Medium expertise',description='Reviewer has a medium degree of expertise related to this question and result. He or she is engaged in research or treats patients in a related field.') - session.add(expertise_level) - expertise_level = Expertise_level(score=50,tag='Some',name='Some expertise',description='Reviewer has some familiarity related with this question and result, but not enough to be authoritative.') - session.add(expertise_level) - expertise_level = Expertise_level(score=30,tag='Low',name='Low expertise',description='Reviewer has low familiarity with this question and result, but has basic understanding of biology and disease.') - session.add(expertise_level) - expertise_level = Expertise_level(score=10,tag='None',name='No expertise',description='Reviewer might best keep his thoughts on this to himself, but cannot prevent himself from amusing his colleagues with irrelevant nonsense. Coder.') - session.add(expertise_level) - session.commit() - - commenter = Commenter(full_name='Test User',email_address='testuser@systemsbioloy.org',password='None') - session.add(commenter) - session.commit() - - - #### Store a new Message into the database - def addNewMessage(self,message,query): - session = self.session - - #### Update the n_results information - n_results = 0 - if message.results is not None: - n_results = len(message.results) - if message.code_description is None: - plural = "s" - if n_results == 1: plural = "" - message.code_description = "Query returned %i result%s" % (n_results,plural) - - #### Add result metadata - if message.results is not None: - for result in message.results: - if result.reasoner_id is None: - result.reasoner_id = "ARAX" - - #### Update the message with current information - rtxConfig = RTXConfiguration() - if message.tool_version is None: - message.tool_version = rtxConfig.version - if message.schema_version is None: - message.schema_version = "0.9.3" - if message.reasoner_id is None: - message.reasoner_id = "ARAX" - message.n_results = n_results - message.type = "translator_reasoner_message" - message.context = "https://raw.githubusercontent.com/biolink/biolink-model/master/context.jsonld" - message.datetime = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - - if message.restated_question is None: - message.restated_question = "" - if message.original_question is None: - message.original_question = "" - - termsString = "{}" - query_type_id = 0 - if query is not None and "query_type_id" in query: - query_type_id = query["query_type_id"] - if query_type_id == 0 and query is not None and "message" in query and "query_type_id" in query["message"]: - query_type_id = query["message"]["query_type_id"] - - if query is not None and "message" in query: - if "terms" in query["message"]: - termsString = stringifyDict(query["message"]["terms"]) - elif "query_graph" in query["message"]: - termsString = stringifyDict(query["message"]["query_graph"]) - - storedMessage = Message(message_datetime=datetime.now(),restated_question=message.restated_question,query_type=query_type_id, - terms=termsString,tool_version=rtxConfig.version,result_code=message.message_code,message=message.code_description,n_results=n_results,message_object=b'') - session.add(storedMessage) - session.flush() - session.commit() - message.id = "https://arax.ncats.io/api/rtx/v1/message/"+str(storedMessage.message_id) - - #### Instead of storing the message in the MySQL database as a message_object (the old way) - #### Instead now store it as a JSON file on the filesystem - message_dir = os.path.dirname(os.path.abspath(__file__)) + '/../../../data/responses' - if not os.path.exists(message_dir): - try: - os.mkdir(message_dir) - except: - eprint(f"ERROR: Unable to create dir {message_dir}") - - if os.path.exists(message_dir): - message_filename = f"{storedMessage.message_id}.json" - message_path = f"{message_dir}/{message_filename}" - try: - with open(message_path, 'w') as outfile: - json.dump(message.to_dict(), outfile, sort_keys=True) - except: - eprint(f"ERROR: Unable to write message to file {message_path}") - - #### This has been mostly castrated but it still puts ids in there, and may be resurrected someday - self.addNewResults(storedMessage.message_id,message) - - #### After updating all the ids, store an updated object - #### No longer needed because we're writing to a file after the INSERT - #storedMessage.message_object=pickle.dumps(ast.literal_eval(repr(message))) - #session.commit() - - return storedMessage.message_id - - - #### We used to store all the result as separate entities in the database, mostly to allow feedback on each one. - #### But this was not used and was slow, so this is being purged from the codebase on 2020-09-22. Can always bring - #### it back if desired. But set everything to a plain integer count for now. Not correct, but - #### not used anyway. - def addNewResults(self,message_id,message): - if message.results is None: - return - - id_counter = 1 - for result in message.results: - - if result.result_type is None: - result.result_type = "individual query answer" - if result.confidence is None: - result.confidence = 0 - try: - result.confidence = float(result.confidence) - except: - eprint(f"WARNING: Confidence value '{result.confidence}' cannot be converted to float") - result.confidence = -999.0 - - result.id = f"https://arax.ncats.io/api/rtx/v1/result/{id_counter}" - id_counter += 1 - - - #### Get a previously stored message for this query from the database - def getCachedMessage(self,query): - if "bypass_cache" in query and query["bypass_cache"] == "true": - return - session = self.session - rtxConfig = RTXConfiguration() - tool_version = rtxConfig.version - termsString = stringifyDict(query["message"]["terms"]) - - #### Look for previous messages we could use - storedMessage = session.query(Message).filter(Message.query_type==query["message"]["query_type_id"]).filter(Message.tool_version==tool_version).filter(Message.terms==termsString).order_by(desc(Message.message_datetime)).first() - if ( storedMessage is not None ): - return pickle.loads(storedMessage.message_object) - return - - - #### Get the list of ratings - def getRatings(self): - session = self.session - message = { "ratings": [] } - count = 0 - for rating in session.query(Rating).all(): - message["ratings"].append(object_as_dict(rating)) - count += 1 - message["n_ratings"] = count - return(message) - - - #### Get the list of expertise levels - def getExpertiseLevels(self): - session = self.session - message = { "expertise_levels": [] } - count = 0 - for level in session.query(Expertise_level).all(): - message["expertise_levels"].append(object_as_dict(level)) - count += 1 - message["n_expertise_levels"] = count - return(message) - - - #### Fetch a cached message - def getMessage(self, message_id): - session = self.session - - if message_id is None: - return( { "status": 400, "title": "message_id missing", "detail": "Required attribute message_id is missing from URL", "type": "about:blank" }, 400) - - #### Find the message - storedMessage = session.query(Message).filter(Message.message_id==message_id).first() - if storedMessage is not None: - if len(storedMessage.message_object) < 5: - message_dir = os.path.dirname(os.path.abspath(__file__)) + '/../../../data/responses' - message_filename = f"{storedMessage.message_id}.json" - message_path = f"{message_dir}/{message_filename}" - try: - with open(message_path) as infile: - return json.load(infile) - except: - eprint(f"ERROR: Unable to read message from file '{message_path}'") - - else: - return pickle.loads(storedMessage.message_object) - else: - return( { "status": 404, "title": "Message not found", "detail": "There is no message corresponding to message_id="+str(message_id), "type": "about:blank" }, 404) - - - #### Get a previously stored message for this query from the database - def processExternalPreviousMessageProcessingPlan(self,inputEnvelope): - debug = 1 - if debug: eprint("DEBUG: Entering processExternalPreviousMessageProcessingPlan") - messages = [] - finalMessage = None - finalMessage_id = None - query = None - - #### Pull out the main processing plan envelope - envelope = PreviousMessageProcessingPlan.from_dict(inputEnvelope["previous_message_processing_plan"]) - - #### If there are URIs provided, try to load them - if envelope.previous_message_uris is not None: - if debug: eprint("DEBUG: Got previous_message_uris") - for uri in envelope.previous_message_uris: - if debug: eprint("DEBUG: messageURI="+uri) - matchResult = re.match( r'http[s]://arax.ncats.io/.*api/rtx/.+/message/(\d+)',uri,re.M|re.I ) - if matchResult: - message_id = matchResult.group(1) - if debug: eprint("DEBUG: Found local ARAX identifier corresponding to message_id "+message_id) - if debug: eprint("DEBUG: Loading message_id "+message_id) - message = self.getMessage(message_id) - #eprint(type(message)) - if not isinstance(message,tuple): - if debug: eprint("DEBUG: Original question was: "+message["original_question"]) - messages.append(message) - finalMessage_id = message_id - query = { "query_type_id": message["query_type_id"], "restated_question": message["restated_question"], "terms": message["terms"] } - else: - eprint("ERROR: Unable to load message_id "+message_id) - return( { "status": 404, "title": "Message not found", "detail": "There is no local message corresponding to message_id="+str(message_id), "type": "about:blank" }, 404) - - #### If there are one or more previous_messages embedded in the POST, process them - if envelope.previous_messages is not None: - if debug: eprint("DEBUG: Got previous_messages") - for uploadedMessage in envelope.previous_messages: - if debug: eprint("DEBUG: uploadedMessage is a "+str(uploadedMessage.__class__)) - if str(uploadedMessage.__class__) == "": - if uploadedMessage.results: - message = ast.literal_eval(repr(uploadedMessage)) - messages.append(message) - - if message["terms"] is None: - message["terms"] = { "dummyTerm": "giraffe" } - if message["query_type_id"] is None: - message["query_type_id"] = "UnknownQ" - if message["restated_question"] is None: - message["restated_question"] = "What is life?" - if message["original_question"] is None: - message["original_question"] = "what is life" - - query = { "query_type_id": message["query_type_id"], "restated_question": message["restated_question"], "original_question": message["original_question"], "terms": message["terms"] } - else: - eprint("Uploaded message does not contain a results. May be the wrong format") - return( { "status": 404, "title": "Bad uploaded Message", "detail": "There is no results in the uploaded Message object=", "type": "about:blank" }, 404) - else: - eprint("Uploaded message is not of type Message. It is of type"+str(uploadedMessage.__class__)) - return( { "status": 404, "title": "Bad uploaded Message", "detail": "Uploaded message is not of type Message. It is of type"+str(uploadedMessage.__class__), "type": "about:blank" }, 404) - - #### Take different actions based on the number of messages we now have in hand - n_messages = len(messages) - if n_messages == 0: - return( { "status": 499, "title": "No Messages", "detail": "Did not get any useful Message objects", "type": "about:blank" }, 499) - elif n_messages == 1: - finalMessage = messages[0] - else: - finalMessage = TxMessage.from_dict(messages[0]) - counter = 1 - while counter < n_messages: - messageToMerge = TxMessage.from_dict(messages[counter]) - if messageToMerge.reasoner_id is None: - messageToMerge.reasoner_id = "Unknown" - if messageToMerge.reasoner_id != "ARAX": - messageToMerge = self.fix_message(query,messageToMerge,messageToMerge.reasoner_id) - - finalMessage = self.merge_message(finalMessage,messageToMerge) - counter += 1 - finalMessage = ast.literal_eval(repr(finalMessage)) - #return( { "status": 498, "title": "Multiple Messages", "detail": "I have multiple messages. Merging code awaits!", "type": "about:blank" }, 498) - - #### Examine the options that were provided and act accordingly - optionsDict = {} - if envelope.options: - if debug: eprint("DEBUG: Got options") - for option in envelope.options: - if debug: eprint("DEBUG: option="+option) - optionsDict[option] = 1 - - #### If there are processing_actions, then fulfill those - processing_actions = [] - if envelope.processing_actions: - if debug: eprint("DEBUG: Found processing_actions") - actions_parser = ActionsParser() - result = actions_parser.parse(envelope.processing_actions) - if result.error_code != 'OK': - eprint(result) - raise() - - #### Message suffers from a dual life as a dict and an object. above we seem to treat it as a dict. Fix that. FIXME - #### Below we start treating it as and object. This should be the way forward. - #### This is not a good place to do this, but may need to convert here - from ARAX_messenger import ARAXMessenger - finalMessage = ARAXMessenger().from_dict(finalMessage) - - #### Process each action in order - action_stats = { } - actions = result.data['actions'] - for action in actions: - if debug: eprint(f"DEBUG: Considering action '{action['command']}' with parameters {action['parameters']}") - #### If we encounter a return, then this is the end of the line - if action['command'] == 'return': - action_stats['return_action'] = action - break - if action['command'] == 'filter': - filter = ARAXFilter() - result = filter.apply(finalMessage,action['parameters']) - if result.error_code != 'OK': - response = result - break - else: - if debug: eprint(f"DEBUG: Action '{action['command']}' is not known") - - #### At the end, process the explicit return() action, or implicitly perform one - return_action = { 'command': 'return', 'parameters': { 'message': 'false', 'store': 'false' } } - if action is not None and action['command'] == 'return': - return_action = action - #### If an explicit one left out some parameters, set the defaults - if 'store' not in return_action['parameters']: - return_action['parameters']['store'] == 'false' - if 'message' not in return_action['parameters']: - return_action['parameters']['message'] == 'false' - - #if "AnnotateDrugs" in optionsDict: - # if debug: eprint("DEBUG: Annotating drugs") - # annotate_std_results(finalMessage) - - if return_action['parameters']['store'] == 'true': - if debug: eprint("DEBUG: Storing resulting Message") - finalMessage_id = self.addNewMessage(TxMessage.from_dict(finalMessage),query) - - #### If requesting a full redirect to the resulting message display. This doesn't really work I don't think - #if "RedirectToMessage" in optionsDict: - # #redirect("https://arax.ncats.io/api/rtx/v1/message/"+str(finalMessage_id), code=302) - # #return( { "status": 302, "redirect": "https://arax.ncats.io/api/rtx/v1/message/"+str(finalMessage_id) }, 302) - # return( "Location: https://arax.ncats.io/api/rtx/v1/message/"+str(finalMessage_id), 302) - - #### If asking for the full message back - if return_action['parameters']['message'] == 'true': - return(finalMessage) - - #### Else just the id is returned - else: - #return( { "status": 200, "message_id": str(finalMessage_id), "n_results": finalMessage['n_results'], "url": "https://arax.ncats.io/api/rtx/v1/message/"+str(finalMessage_id) }, 200) - return( { "status": 200, "message_id": str(finalMessage_id), "n_results": finalMessage.n_results, "url": "https://arax.ncats.io/api/rtx/v1/message/"+str(finalMessage_id) }, 200) - - - ########################################################################################################################## - def fix_message(self,query,message,reasoner_id): - - if reasoner_id == "ARAX": - base_url = "https://arax.ncats.io/api/rtx/v1" - elif reasoner_id == "Robokop": - base_url = "http://robokop.renci.org:6011/api" - elif reasoner_id == "Indigo": - base_url = "https://indigo.ncats.io/reasoner/api/v0" - else: - base_url = "https://unknown.url.org/" - eprint("ERROR: Unrecognized reasoner_id '"+reasoner_id+"'") - - if message.context is None: - message.context = "https://raw.githubusercontent.com/biolink/biolink-model/master/context.jsonld" - if message.id is None or message.id == "": - message.id = base_url + "/message/1234" - message.original_question = query["original_question"] - message.restated_question = query["restated_question"] - message.reasoner_id = reasoner_id - if message.message_code is None or message.message_code == "": - message.message_code = "OK" - if message.n_results is None: - if message.results is not None: - message.n_results = len(message.results) - else: - message.n_results = 0 - if message.code_description is None or message.code_description == "": - message.code_description = str(message.n_results) + " results returned" - - if message.results is not None: - result_id = 2345 - for result in message.results: - if result.id is None or result.id == "": - result.id = base_url + "/result/" + str(result_id) - result_id += 1 - if result.reasoner_id is None or result.reasoner_id == "": - result.reasoner_id = reasoner_id - if result.confidence is None: - result.confidence = 0 - - return(message) - - - def merge_message(self,final_message,message_to_merge): - for result in message_to_merge.results: - final_message.results.append(result) - final_message.n_results = len(final_message.results) - final_message.code_description = str(final_message.n_results) + " merged reults" - return(final_message) - - - - -############################################ General functions ############################################### -#### Turn a row into a dict -def object_as_dict(obj): - return {c.key: getattr(obj, c.key) - for c in inspect(obj).mapper.column_attrs} - -#### convert a dict into a string in guaranteed repeatable order i.e. sorted -def stringifyDict(inputDict): - outString = "{" - for key,value in sorted(inputDict.items(), key=lambda t: t[0]): - if outString != "{": - outString += "," - outString += "'"+str(key)+"':'"+str(value)+"'" - outString += "}" - return(outString) - - - -# This is from Kevin Xin from team orange. -# It performs MOD1 and MOD2 (annotation and scoring modules) of workflow 1 -# input std API message format -# output std API message format - -def annotate_drug(drug_id, id_type): - """ - Provide annotation for drug - """ - if id_type == 'chembl': - query_template = 'http://mychem.info/v1/query?q=drugcentral.xrefs.chembl_id:{{drug_id}}&fields=drugcentral' - elif id_type == 'chebi': - query_template = 'http://mychem.info/v1/query?q=drugcentral.xrefs.chebi:"{{drug_id}}"&fields=drugcentral' - query_url = query_template.replace('{{drug_id}}', drug_id) - results = {'annotate': {'common_side_effects': None, 'approval': None, 'indication': None, 'EPC': None}} - api_message = requests.get(query_url).json() - - # get drug approval information from mychem - approval = DictQuery(api_message).get("hits/drugcentral/approval") - if approval: - results['annotate']['approval'] = 'Yes' - # get drug approved indication information - indication = DictQuery(api_message).get("hits/drugcentral/drug_use/indication") - if len(indication) > 0 and indication[0] and not isinstance(indication[0], list): - results['annotate']['indication'] = [_doc['snomed_full_name'] for _doc in indication if - 'snomed_full_name' in _doc] - elif len(indication) > 0 and indication[0]: - results['annotate']['indication'] = [_doc['snomed_full_name'] for _doc in indication[0] if - 'snomed_full_name' in _doc] - # get drug established pharm class information - epc = DictQuery(api_message).get("hits/drugcentral/pharmacology_class/fda_epc") - if len(epc) > 0 and epc[0] and not isinstance(epc[0], list): - results['annotate']['EPC'] = [_doc['description'] for _doc in epc if 'description' in _doc] - elif len(epc) > 0 and epc[0]: - results['annotate']['EPC'] = [_doc['description'] for _doc in epc[0] if 'description' in _doc] - # get drug common side effects - side_effects = DictQuery(api_message).get("hits/drugcentral/fda_adverse_event") - if len(side_effects) > 0 and side_effects[0]: - if isinstance(side_effects[0], list): - # only keep side effects with likelihood higher than the threshold - results['annotate']['common_side_effects'] = [_doc['meddra_term'] for _doc in side_effects[0] if - _doc['llr'] > _doc['llr_threshold']] - if len(results['annotate']['common_side_effects']) > 10: - results['annotate']['common_side_effects'] = results['annotate']['common_side_effects'][:10] - elif isinstance(side_effects[0], dict) and 'meddra_term' in side_effects[0]: - results['annotate']['common_side_effects'] = side_effects[0]['meddra_term'] - - #### EWD: Now transform this into the schema! - results = unlist(results) - node_attributes = [] - for key,value in results["annotate"].items(): - if isinstance(value,list): - counter = 0 - for item in value: - node_attributes.append( { "name": key, "value": item } ) - counter += 1 - if counter > 11: break - else: - node_attributes.append( { "name": key, "value": value } ) - return node_attributes - - #return unlist(results) - - -""" -Helper functions -""" -def unlist(d): - """ - If the list contain only one element, unlist it - """ - for key, val in d.items(): - if isinstance(val, list): - if len(val) == 1: - d[key] = val[0] - elif isinstance(val, dict): - unlist(val) - return d - -class DictQuery(dict): - """ - Helper function to fetch value from a python dictionary - """ - def get(self, path, default = None): - keys = path.split("/") - val = None - - for key in keys: - if val: - if isinstance(val, list): - val = [ v.get(key, default) if v else None for v in val] - else: - val = val.get(key, default) - else: - val = dict.get(self, key, default) - - if not val: - break; - - return val - - -def annotate_std_results(input_json_doc): - """ - Annotate results from reasoner's standard output - """ - for _doc in input_json_doc['results']: - if 'result_graph' in _doc and _doc['result_graph'] is not None: - eprint("Found result_graph and it is") - eprint(_doc['result_graph']) - for _node in _doc['result_graph']['nodes']: - if _node['id'].startswith('CHEMBL'): - _drug = _node['id'].split(':')[-1] - _node['node_attributes'] = annotate_drug(_drug, 'chembl') - elif _node['id'].startswith("CHEBI:"): - _node['node_attributes'] = annotate_drug(_node['id'], 'chebi') - if 'knowledge_graph' in input_json_doc: - for _node in input_json_doc['knowledge_graph']['nodes']: - if _node['id'].startswith('CHEMBL'): - _drug = _node['id'].split(':')[-1] - _node['node_attributes'] = annotate_drug(_drug, 'chembl') - elif _node['id'].startswith("CHEBI:"): - _node['node_attributes'] = annotate_drug(_node['id'], 'chebi') - return input_json_doc - - - - - - -#### If this class is run from the command line, perform a short little test to see if it is working correctly -def main(): - - #### Create a new RTXFeedback object - rtxFeedback = RTXFeedback() - envelope = PreviousMessageProcessingPlan() - #envelope.options = [ "Store", "RedirectToMessage" ] - envelope.options = [ "AnnotateDrugs", "Store", "ReturnMessageId" ] - #envelope.options = [ "ReturnMessage" ] - #envelope.options = [ "AnnotateDrugs", "ReturnMessage" ] - envelope.message_ur_is = [ "https://arax.ncats.io/api/rtx/v1/message/300" ] - - #result = rtxFeedback.processExternalPreviousMessageProcessingPlan(envelope) - #print(result) - - - - #### Careful, don't destroy an important database!!! - ##rtxFeedback.createDatabase() - ##rtxFeedback.prepopulateDatabase() - #sys.exit() - - #### Connect to the database - session = rtxFeedback.session - - #### Query and print some rows from the reference tables - print("Querying database") - for rating in session.query(Rating).all(): - print(rating) - print("rating_id="+str(rating.rating_id)+" name="+rating.name+"\n") - - for expertise_level in session.query(Expertise_level).all(): - print(expertise_level) - print("expertise_level_id="+str(expertise_level.expertise_level_id)+" name="+expertise_level.name+"\n") - - print(rtxFeedback.getRatings()) - - -if __name__ == "__main__": main() diff --git a/code/UI/Feedback/RTXFeedback_Test1.py b/code/UI/Feedback/RTXFeedback_Test1.py deleted file mode 100644 index be672d3de..000000000 --- a/code/UI/Feedback/RTXFeedback_Test1.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/python3 -# Some example test code for the RTX feedback system - -import os -import sys -import json -import ast - -from RTXFeedback import RTXFeedback -import requests -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../OpenAPI/python-flask-server") -from swagger_server.models.response import Response - -url = "http://arax.ncats.io/api/rtx/v1/query" - -query = { - "known_query_type_id": "Q3", - "original_question": "what proteins does acetaminophen target", - "restated_question": "Which proteins are the target of acetaminophen?", - "terms": { - "chemical_substance": "CHEMBL112", - "rel_type": "directly_interacts_with", - "target_label": "protein" - } - } - -query = { - "known_query_type_id": "Q0", - "original_question": "what is malaria", - "restated_question": "What is malaria", - "terms": { - "term": "malaria" - } -} - - -#### Create an RTX Feedback management object -rtxFeedback = RTXFeedback() - -#### Purge and re-create the database if desired -#rtxFeedback.createDatabase() -#rtxFeedback.prepopulateDatabase() - -#### Connect to the database -rtxFeedback.connect() - -#### Fetch a cached response based on this query if there is one -cachedResponse = rtxFeedback.getCachedResponse(query) -#cachedResponse = None - -#### If there was one, then return it -if ( cachedResponse is not None ): - apiResponse = Response().from_dict(cachedResponse) - -#### Otherwise, send the query to the web service (which creates an entry in the cache) -else: - httpResponse = requests.post(url,json=query) - assert(httpResponse.status_code == 200) - apiResponse = Response.from_dict(httpResponse.json()) - rtxFeedback.addNewResponse(apiResponse,query) - -#### Print out the result as JSON -dumpString = json.dumps(ast.literal_eval(repr(apiResponse)),sort_keys=True,indent=2) -print(dumpString[0:1000]+"\n...") diff --git a/code/UI/Feedback/reinitiatizeDatabase.py b/code/UI/Feedback/reinitiatizeDatabase.py deleted file mode 100644 index 54aefe23c..000000000 --- a/code/UI/Feedback/reinitiatizeDatabase.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/env python3 -# Reinitialize the Message/Feedback MySQL database - -import os -import sys -import json -import ast - -from RTXFeedback import RTXFeedback - -if len(sys.argv) < 2: - print("Run reinitializeDatabase.pl with the parameter 'yes' if you really want to delete and re-create the feedback/Message database") - sys.exit(0) - -if sys.argv[1] != 'yes': - print("If you really want to delete and re-create the feedback/Message database, use:") - print(" python reinitializeDatabase.py yes") - sys.exit(0) - -#### Create an RTX Feedback management object -rtxFeedback = RTXFeedback() - -#### Purge and re-create the database -rtxFeedback.createDatabase() -rtxFeedback.prepopulateDatabase() - -#### Connect to the database -rtxFeedback.connect() - diff --git a/code/UI/Feedback/sqlalchemy_ericTest1.py b/code/UI/Feedback/sqlalchemy_ericTest1.py deleted file mode 100644 index 29e514209..000000000 --- a/code/UI/Feedback/sqlalchemy_ericTest1.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/python3 -# Trivial sample program fiddling with SQLAlchemy - -import os -import sys -from sqlalchemy import Column, ForeignKey, Integer, String -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import relationship -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker - -Base = declarative_base() - -class Person(Base): - __tablename__ = 'person' - # Here we define columns for the table person - # Notice that each column is also a normal Python instance attribute. - id = Column(Integer, primary_key=True) - name = Column(String(250), nullable=False) - -class Address(Base): - __tablename__ = 'address' - # Here we define columns for the table address. - # Notice that each column is also a normal Python instance attribute. - id = Column(Integer, primary_key=True) - street_name = Column(String(250)) - street_number = Column(String(250)) - post_code = Column(String(250), nullable=False) - person_id = Column(Integer, ForeignKey('person.id')) - person = relationship(Person) - - -def main(): - print("Creating database") - engine = create_engine('sqlite:///sqlalchemy_example.db') - Base.metadata.create_all(engine) - - print("Writing to database") - DBSession = sessionmaker(bind=engine) - session = DBSession() - new_person = Person(name='Eric') - session.add(new_person) - session.commit() - new_address = Address(post_code='98008', person=new_person) - session.add(new_address) - session.commit() - - print("Querying database") - for person in session.query(Person).all(): - print(person) - print("id="+str(person.id)+" name="+person.name+"\n") - - -if __name__ == "__main__": main() diff --git a/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2 b/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2 deleted file mode 100755 index cdb203b16..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2 +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -export DEVAREA=kg2 - -### BEGIN INIT INFO -# Provides: RTX_OpenAPI_kg2 -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Starts/stops the RTX API web service, running an autogenerated Python Flask microframework -# Description: Starts/stops the RTX API web service, running an autogenerated Python Flask microframework -### END INIT INFO - -# Change the next 3 lines to suit where you install your script and what you want to call it -DIR=/mnt/data/orangeboard/$DEVAREA/RTX/code/UI/OpenAPI/python-flask-server/KG2 - -DAEMON=$DIR/RTX_OpenAPI_$DEVAREA.start -DAEMON_NAME=RTX_OpenAPI_$DEVAREA - -# Add any command line options for your daemon here -DAEMON_OPTS="" - -# This next line determines what user the script runs as. -# Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python. -DAEMON_USER=rt - -# The process ID of the script when it runs is stored here: -PIDFILE=/var/run/$DAEMON_NAME.pid - -. /lib/lsb/init-functions - -do_start () { - log_daemon_msg "Starting system $DAEMON_NAME daemon" - start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS - log_end_msg $? -} -do_stop () { - log_daemon_msg "Stopping system $DAEMON_NAME daemon" - start-stop-daemon --stop --pidfile $PIDFILE --retry 10 - log_end_msg $? -} - -case "$1" in - - start|stop) - do_${1} - ;; - - restart|reload|force-reload) - do_stop - do_start - ;; - - status) - status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $? - ;; - - *) - echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}" - exit 1 - ;; - -esac -exit 0 diff --git a/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2.start b/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2.start deleted file mode 100755 index 034911e39..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/RTX_OpenAPI_kg2.start +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -export DEVAREA=kg2 - -LOGFILE=/tmp/RTX_OpenAPI_$DEVAREA.log -ELOGFILE=/tmp/RTX_OpenAPI_$DEVAREA.elog - -if [ -e $LOGFILE ] -then - /bin/rm $LOGFILE -fi - -if [ -e $ELOGFILE ] -then - /bin/rm $ELOGFILE -fi - -cd /mnt/data/orangeboard/$DEVAREA/RTX/code/UI/OpenAPI/python-flask-server/KG2 - -export PATH=/mnt/data/python/Python-3.9.18/bin:$PATH - -exec python3 -u -m openapi_server 1>$LOGFILE 2>$ELOGFILE - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/__init__.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/__main__.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/__main__.py deleted file mode 100644 index 0dd657848..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/__main__.py +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import os -import traceback -import json -import setproctitle - -sys.path.append(os.path.dirname(os.path.abspath(__file__)) + - "/../../../../../ARAX/ARAXQuery") -sys.path.append(os.path.dirname(os.path.abspath(__file__)) + - "/../../../../..") - -from RTXConfiguration import RTXConfiguration -from ARAX_database_manager import ARAXDatabaseManager -from opentelemetry.semconv.resource import ResourceAttributes -from opentelemetry.instrumentation.flask import FlaskInstrumentor -from opentelemetry.instrumentation.requests import RequestsInstrumentor -from opentelemetry.instrumentation.aiohttp_client import ( - AioHttpClientInstrumentor -) -from opentelemetry import trace -from opentelemetry.trace.span import Span -from opentelemetry.sdk.resources import Resource -from opentelemetry.sdk.trace import TracerProvider -from opentelemetry.sdk.trace.export import BatchSpanProcessor -from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter -from opentelemetry.exporter.jaeger.thrift import JaegerExporter - -def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) - - -FLASK_DEFAULT_TCP_PORT = 5008 -global child_pid -child_pid = None -global parent_pid -parent_pid = None - -CONFIG_FILE = 'openapi_server/flask_config.json' - -def instrument(app, host, port): - - service_name = "RTX-KG2" - - trace.set_tracer_provider(TracerProvider( - resource=Resource.create({ - ResourceAttributes.SERVICE_NAME: service_name - }) - )) - trace.get_tracer_provider().add_span_processor( - BatchSpanProcessor( - JaegerExporter( - agent_host_name=host, - agent_port=port - ) - ) - ) - trace.get_tracer_provider().get_tracer(__name__) - FlaskInstrumentor().instrument_app(app=app.app) - RequestsInstrumentor().instrument() - AioHttpClientInstrumentor().instrument() - -def main(): - - rtx_config = RTXConfiguration() - - dbmanager = ARAXDatabaseManager(allow_downloads=True) - try: - eprint("Checking for complete databases") - if dbmanager.check_versions(): - eprint("Databases incomplete; running update_databases") - dbmanager.update_databases() - else: - eprint("Databases seem to be complete") - except Exception as e: - eprint(traceback.format_exc()) - raise e - del dbmanager - - # Read any load configuration details for this instance - try: - with open(CONFIG_FILE, 'r') as infile: - local_config = json.load(infile) - except Exception: - eprint(f"Error loading config file: {CONFIG_FILE}") - local_config = {"port": FLASK_DEFAULT_TCP_PORT} - tcp_port = local_config['port'] - - parent_pid = os.getpid() - - pid = os.fork() - if pid == 0: # I am the child process - from ARAX_background_tasker import ARAXBackgroundTasker - sys.stdout = open('/dev/null', 'w') - sys.stdin = open('/dev/null', 'r') - setproctitle.setproctitle("python3 ARAX_background_tasker" - f"::run_tasks [port={tcp_port}]") - eprint("Starting background tasker in a child process") - try: - ARAXBackgroundTasker(parent_pid, - run_kp_info_cacher=False).run_tasks() - except Exception as e: - eprint("Error in ARAXBackgroundTasker.run_tasks()") - eprint(traceback.format_exc()) - raise e - eprint("Background tasker child process ended unexpectedly") - elif pid > 0: # I am the parent process - import signal - import atexit - - def receive_sigterm(signal_number, frame): - if signal_number == signal.SIGTERM: - if parent_pid == os.getpid(): - try: - os.kill(child_pid, signal.SIGKILL) - except ProcessLookupError: - eprint(f"child process {child_pid} is already gone; " - "exiting now") - sys.exit(0) - else: - # handle exit gracefully in the child process - os._exit(0) - - @atexit.register - def ignore_sigchld(): - signal.signal(signal.SIGCHLD, signal.SIG_IGN) - - def receive_sigchld(signal_number, frame): - if signal_number == signal.SIGCHLD: - while True: - try: - pid, _ = os.waitpid(-1, os.WNOHANG) - if pid == 0: - break - except ChildProcessError as e: - eprint(repr(e) + - "; this is expected if there are " - "no more child processes to reap") - break - - def receive_sigpipe(signal_number, frame): - if signal_number == signal.SIGPIPE: - eprint("pipe error") - import connexion - import flask_cors - import openapi_server.encoder - app = connexion.App(__name__, specification_dir='./openapi/') - app.app.json_encoder = openapi_server.encoder.JSONEncoder - app.add_api('openapi.yaml', - arguments={'title': 'ARAX KG2 Translator KP'}, - pythonic_params=True) - flask_cors.CORS(app.app) - - # Start the service - eprint(f"Background tasker is running in child process {pid}") - child_pid = pid - signal.signal(signal.SIGCHLD, receive_sigchld) - signal.signal(signal.SIGPIPE, receive_sigpipe) - signal.signal(signal.SIGTERM, receive_sigterm) - - eprint("Starting flask application in the parent process") - setproctitle.setproctitle(setproctitle.getproctitle() + - f" [port={tcp_port}]") - if rtx_config.telemetry_enabled: - instrument(app, rtx_config.jaeger_endpoint, rtx_config.jaeger_port) - app.run(port=local_config['port'], threaded=True) - else: - eprint("[__main__]: fork() unsuccessful") - assert False, "****** fork() unsuccessful in __main__" - - -if __name__ == '__main__': - main() diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/__init__.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_controller.py deleted file mode 100644 index 51b963d5a..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_controller.py +++ /dev/null @@ -1,39 +0,0 @@ -import connexion -import six - -import os -import sys - -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../../../../../ARAX/ARAXQuery") -from ARAX_query import ARAXQuery - - -def asyncquery(request_body): # noqa: E501 - """Initiate a query with a callback to receive the response - - # noqa: E501 - - :param request_body: Query information to be submitted - :type request_body: Dict[str, ] - - :rtype: AsyncQueryResponse - """ - - # Note that we never even get here if the request_body is not schema-valid JSON - - query = connexion.request.get_json() - - #### Record the remote IP address in the query for now so it is available downstream - try: - query['remote_address'] = connexion.request.headers['x-forwarded-for'] - except: - query['remote_address'] = '???' - - araxq = ARAXQuery() - - envelope = araxq.query_return_message(query, mode='RTXKG2') - http_status = 200 - if hasattr(envelope, 'http_status'): - http_status = envelope.http_status - return(envelope,http_status) - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_status_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_status_controller.py deleted file mode 100644 index af383b56c..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/asyncquery_status_controller.py +++ /dev/null @@ -1,18 +0,0 @@ -import connexion -import six - -from openapi_server.models.async_query_status_response import AsyncQueryStatusResponse # noqa: E501 -from openapi_server import util - - -def asyncquery_status(job_id): # noqa: E501 - """Retrieve the current status of a previously submitted asyncquery given its job_id - - # noqa: E501 - - :param job_id: Identifier of the job for status request - :type job_id: str - - :rtype: AsyncQueryStatusResponse - """ - return 'do some magic!' diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/entity_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/entity_controller.py deleted file mode 100644 index 09c5e09a6..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/entity_controller.py +++ /dev/null @@ -1,44 +0,0 @@ -import connexion -import six - -from openapi_server.models.entity_query import EntityQuery # noqa: E501 -from openapi_server import util - -import os -import sys -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../../../../../ARAX/NodeSynonymizer") -from node_synonymizer import NodeSynonymizer - - -def get_entity(q): # noqa: E501 - """Obtain CURIE and synonym information about a search term - - # noqa: E501 - - :param q: A string to search by (name, abbreviation, CURIE, etc.). The parameter may be repeated for multiple search strings. - :type q: List[str] - - :rtype: object - """ - synonymizer = NodeSynonymizer() - response = synonymizer.get_normalizer_results(q) - - return response - - -def post_entity(body): # noqa: E501 - """Obtain CURIE and synonym information about search terms - - # noqa: E501 - - :param body: List of terms to get information about - :type body: - - :rtype: EntityQuery - """ - - synonymizer = NodeSynonymizer() - response = synonymizer.get_normalizer_results(body) - - return response - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/meta_knowledge_graph_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/meta_knowledge_graph_controller.py deleted file mode 100644 index 2239330eb..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/meta_knowledge_graph_controller.py +++ /dev/null @@ -1,25 +0,0 @@ -import connexion -import six -import os -import sys - -from openapi_server.models.meta_knowledge_graph import MetaKnowledgeGraph # noqa: E501 -from openapi_server import util - -sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../../../../../../ARAX/KnowledgeSources") -from knowledge_source_metadata import KnowledgeSourceMetadata - - -def meta_knowledge_graph(format_=None): # noqa: E501 - """Meta knowledge graph representation of this TRAPI web service. - - # noqa: E501 - - :param format_: Provide meta_knowledge_graph information in a format other than the default. Default value is 'full'. Also permitted is 'simple' - :type format: str - - :rtype: MetaKnowledgeGraph - """ - ksm = KnowledgeSourceMetadata() - return(ksm.get_meta_knowledge_graph(format_=format_)) - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/query_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/query_controller.py deleted file mode 100644 index 51f9bc238..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/query_controller.py +++ /dev/null @@ -1,155 +0,0 @@ -import connexion -import flask -import json -import os -import sys -import signal -import resource -import traceback -from typing import Iterable, Callable -import setproctitle - - -def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) - - -rlimit_child_process_bytes = 34359738368 # 32 GiB - -sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../../../../../../ARAX/ARAXQuery") -import ARAX_query - -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + "/../models") -import response - - -def child_receive_sigpipe(signal_number, frame): - if signal_number == signal.SIGPIPE: - eprint("[query_controller]: child process detected a " - "SIGPIPE; exiting python") - os._exit(0) - - -def run_query_dict_in_child_process(query_dict: dict, - query_runner: Callable) -> Iterable[str]: - eprint("[query_controller]: Creating pipe and " - "forking a child to handle the query") - read_fd, write_fd = os.pipe() - - # always flush stdout and stderr before calling fork(); someone could have - # turned off auto-flushing and we don't want double-output - sys.stderr.flush() - sys.stdout.flush() - - pid = os.fork() - - if pid == 0: # I am the child process - sys.stdout = open('/dev/null', 'w') # parent and child process should not share the same stdout stream object - sys.stdin = open('/dev/null', 'r') # parent and child process should not share the same stdin stream object - os.close(read_fd) # child doesn't read from the pipe, it writes to it - setproctitle.setproctitle("python3 query_controller::run_query_dict_in_child_process") - resource.setrlimit(resource.RLIMIT_AS, (rlimit_child_process_bytes, rlimit_child_process_bytes)) # set a virtual memory limit for the child process - signal.signal(signal.SIGPIPE, child_receive_sigpipe) # get rid of signal handler so we don't double-print to the log on SIGPIPE error - signal.signal(signal.SIGCHLD, signal.SIG_IGN) # disregard any SIGCHLD signal in the child process - signal.signal(signal.SIGTERM, signal.SIG_DFL) - try: - with os.fdopen(write_fd, "w") as write_fo: # child process needs to get a stream object for the file descriptor `write_fd` - json_string_generator = query_runner(query_dict) - for json_string in json_string_generator: - write_fo.write(json_string) - write_fo.flush() - except BaseException as e: - print(f"Exception in query_controller.run_query_dict_in_child_process: {type(e)}\n{traceback.print_exc()}", file=sys.stderr) - os._exit(1) - os._exit(0) - elif pid > 0: # I am the parent process - os.close(write_fd) # the parent does not write to the pipe, it reads from it - eprint(f"[query_controller]: child process pid={pid}") - read_fo = os.fdopen(read_fd, "r") - else: - eprint("[query_controller]: fork() unsuccessful") - assert False, "********** fork() unsuccessful; something went very wrong *********" - return read_fo - - -def _run_query_and_return_json_generator_nonstream(query_dict: dict) -> Iterable[str]: - envelope = ARAX_query.ARAXQuery().query_return_message(query_dict, mode='RTXKG2') - envelope_dict = envelope.to_dict() - if hasattr(envelope, 'http_status'): - envelope_dict['http_status'] = envelope.http_status - else: - envelope_dict['http_status'] = 200 - return (json.dumps(envelope_dict, allow_nan=False), ) - - -def _run_query_and_return_json_generator_stream(query_dict: dict) -> Iterable[str]: - return ARAX_query.ARAXQuery().query_return_stream(query_dict, mode='RTXKG2') - - -def query(request_body): # noqa: E501 - """Initiate a query and wait to receive a Response - - # noqa: E501 - - :param request_body: Query information to be submitted - :type request_body: Dict[str, ] - - :rtype: Response - """ - - # Note that we never even get here if the request_body is not schema-valid JSON - - query = connexion.request.get_json() # :QUESTION: why don't we use `request_body`? - - #### Record the remote IP address in the query for now so it is available downstream - try: - query['remote_address'] = connexion.request.headers['x-forwarded-for'] - except: - query['remote_address'] = '???' - - mime_type = 'application/json' - - if query.get('stream_progress', False): # if stream_progress is specified and if it is True: - - fork_mode = True # :DEBUG: can turn this to False to disable fork-mode - http_status = None - mime_type = 'text/event-stream' - - if not fork_mode: - json_generator = _run_query_and_return_json_generator_stream(query) - else: - json_generator = run_query_dict_in_child_process(query, - _run_query_and_return_json_generator_stream) - - resp_obj = flask.Response(json_generator, mimetype=mime_type) - # Else perform the query and return the result - http_status = None - - else: - json_generator = run_query_dict_in_child_process(query, - _run_query_and_return_json_generator_nonstream) - the_dict = json.loads(next(json_generator)) - http_status = the_dict.get('http_status', 200) - resp_obj = response.Response.from_dict(the_dict) - resp_obj.http_status = http_status - - return (resp_obj, http_status) - - -# :TESTING: vvvvvvvvvvvvvvvvvv -# if __name__ == "__main__": -# signal.signal(signal.SIGPIPE, signal.SIG_IGN) -# query_dict = { -# "operations": { -# "actions": [ -# "add_qnode(ids=[CHEMBL.COMPOUND:CHEMBL112], key=n00)", -# "add_qnode(ids=[UniProtKB:P55000], key=n01)", -# "add_qedge(subject=n00, object=n01, key=e00)", -# "expand(edge_key=e00,kp=RTX-KG2)", -# "resultify()", -# "return(message=true, store=false)", -# ] -# } -# } -# for json_str in run_query_dict_in_child_process(query_dict, _run_query_and_return_json_generator_stream): -# print(json_str) -# :TESTING: ^^^^^^^^^^^^^^^^^^ diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/security_controller_.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/security_controller_.py deleted file mode 100644 index ecac40558..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/security_controller_.py +++ /dev/null @@ -1,3 +0,0 @@ -from typing import List - - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/status_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/status_controller.py deleted file mode 100644 index b476af52c..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/controllers/status_controller.py +++ /dev/null @@ -1,52 +0,0 @@ -import six -import os -import sys - -from openapi_server import util -from ARAX_query_tracker import ARAXQueryTracker -from Expand.smartapi import SmartAPI - - -def get_status(last_n_hours=None, id_=None, terminate_pid=None, authorization=None): # noqa: E501 - """Obtain status information about the endpoint - - # noqa: E501 - - :param last_n_hours: Limit results to the past N hours - :type last_n_hours: int - :param id: Identifier of the log entry - :type id: int - :param terminate_pid: PID of an ongoing query to terminate - :type terminate_pid: int - :param authorization: Authorization string required for certain calls to status - :type authorization: str - - :rtype: object - """ - - if authorization is not None and authorization == 'smartapi': - smartapi = SmartAPI() - return smartapi.get_trapi_endpoints() - - query_tracker = ARAXQueryTracker() - if terminate_pid is not None: - status = query_tracker.terminate_job(terminate_pid, authorization) - else: - status = query_tracker.get_status(last_n_hours=last_n_hours, id_=id_) - return status - - -def get_logs(mode=None): # noqa: E501 - """Get log information from the server - - # noqa: E501 - - :param mode: Specify the log sending mode - :type mode: string - - :rtype: string - """ - - query_tracker = ARAXQueryTracker() - status = query_tracker.get_logs(mode=mode) - return status diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/encoder.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/encoder.py deleted file mode 100644 index 3bbef854f..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/encoder.py +++ /dev/null @@ -1,20 +0,0 @@ -from connexion.apps.flask_app import FlaskJSONEncoder -import six - -from openapi_server.models.base_model_ import Model - - -class JSONEncoder(FlaskJSONEncoder): - include_nulls = False - - def default(self, o): - if isinstance(o, Model): - dikt = {} - for attr, _ in six.iteritems(o.openapi_types): - value = getattr(o, attr) - if value is None and not self.include_nulls: - continue - attr = o.attribute_map[attr] - dikt[attr] = value - return dikt - return FlaskJSONEncoder.default(self, o) diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/__init__.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/__init__.py deleted file mode 100644 index 38f1b1ed6..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -# flake8: noqa -from __future__ import absolute_import -# import models into model package -from openapi_server.models.analysis import Analysis -from openapi_server.models.async_query import AsyncQuery -from openapi_server.models.async_query_response import AsyncQueryResponse -from openapi_server.models.async_query_status_response import AsyncQueryStatusResponse -from openapi_server.models.attribute import Attribute -from openapi_server.models.attribute_constraint import AttributeConstraint -from openapi_server.models.auxiliary_graph import AuxiliaryGraph -from openapi_server.models.edge import Edge -from openapi_server.models.edge_binding import EdgeBinding -from openapi_server.models.entity_query import EntityQuery -from openapi_server.models.knowledge_graph import KnowledgeGraph -from openapi_server.models.log_entry import LogEntry -from openapi_server.models.log_level import LogLevel -from openapi_server.models.message import Message -from openapi_server.models.meta_attribute import MetaAttribute -from openapi_server.models.meta_edge import MetaEdge -from openapi_server.models.meta_knowledge_graph import MetaKnowledgeGraph -from openapi_server.models.meta_node import MetaNode -from openapi_server.models.meta_qualifier import MetaQualifier -from openapi_server.models.node import Node -from openapi_server.models.node_binding import NodeBinding -from openapi_server.models.operation_lookup import OperationLookup -from openapi_server.models.operations import Operations -from openapi_server.models.q_edge import QEdge -from openapi_server.models.q_node import QNode -from openapi_server.models.qualifier import Qualifier -from openapi_server.models.qualifier_constraint import QualifierConstraint -from openapi_server.models.query import Query -from openapi_server.models.query_graph import QueryGraph -from openapi_server.models.resource_role_enum import ResourceRoleEnum -from openapi_server.models.response import Response -from openapi_server.models.result import Result -from openapi_server.models.retrieval_source import RetrievalSource diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/analysis.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/analysis.py deleted file mode 100644 index 5f93e2d4a..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/analysis.py +++ /dev/null @@ -1,214 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server.models.edge_binding import EdgeBinding -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 -from openapi_server.models.edge_binding import EdgeBinding # noqa: E501 - -class Analysis(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, resource_id=None, score=None, edge_bindings=None, support_graphs=None, scoring_method=None, attributes=None): # noqa: E501 - """Analysis - a model defined in OpenAPI - - :param resource_id: The resource_id of this Analysis. # noqa: E501 - :type resource_id: str - :param score: The score of this Analysis. # noqa: E501 - :type score: float - :param edge_bindings: The edge_bindings of this Analysis. # noqa: E501 - :type edge_bindings: Dict[str, List[EdgeBinding]] - :param support_graphs: The support_graphs of this Analysis. # noqa: E501 - :type support_graphs: List[str] - :param scoring_method: The scoring_method of this Analysis. # noqa: E501 - :type scoring_method: str - :param attributes: The attributes of this Analysis. # noqa: E501 - :type attributes: List[Attribute] - """ - self.openapi_types = { - 'resource_id': str, - 'score': float, - 'edge_bindings': Dict[str, List[EdgeBinding]], - 'support_graphs': List[str], - 'scoring_method': str, - 'attributes': List[Attribute] - } - - self.attribute_map = { - 'resource_id': 'resource_id', - 'score': 'score', - 'edge_bindings': 'edge_bindings', - 'support_graphs': 'support_graphs', - 'scoring_method': 'scoring_method', - 'attributes': 'attributes' - } - - self._resource_id = resource_id - self._score = score - self._edge_bindings = edge_bindings - self._support_graphs = support_graphs - self._scoring_method = scoring_method - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'Analysis': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Analysis of this Analysis. # noqa: E501 - :rtype: Analysis - """ - return util.deserialize_model(dikt, cls) - - @property - def resource_id(self): - """Gets the resource_id of this Analysis. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The resource_id of this Analysis. - :rtype: str - """ - return self._resource_id - - @resource_id.setter - def resource_id(self, resource_id): - """Sets the resource_id of this Analysis. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param resource_id: The resource_id of this Analysis. - :type resource_id: str - """ - if resource_id is None: - raise ValueError("Invalid value for `resource_id`, must not be `None`") # noqa: E501 - - self._resource_id = resource_id - - @property - def score(self): - """Gets the score of this Analysis. - - A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better. # noqa: E501 - - :return: The score of this Analysis. - :rtype: float - """ - return self._score - - @score.setter - def score(self, score): - """Sets the score of this Analysis. - - A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better. # noqa: E501 - - :param score: The score of this Analysis. - :type score: float - """ - - self._score = score - - @property - def edge_bindings(self): - """Gets the edge_bindings of this Analysis. - - The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges. # noqa: E501 - - :return: The edge_bindings of this Analysis. - :rtype: Dict[str, List[EdgeBinding]] - """ - return self._edge_bindings - - @edge_bindings.setter - def edge_bindings(self, edge_bindings): - """Sets the edge_bindings of this Analysis. - - The dictionary of input Query Graph to Knowledge Graph edge bindings where the dictionary keys are the key identifiers of the Query Graph edges and the associated values of those keys are instances of EdgeBinding schema type (see below). This value is an array of EdgeBindings since a given query edge may resolve to multiple Knowledge Graph Edges. # noqa: E501 - - :param edge_bindings: The edge_bindings of this Analysis. - :type edge_bindings: Dict[str, List[EdgeBinding]] - """ - if edge_bindings is None: - raise ValueError("Invalid value for `edge_bindings`, must not be `None`") # noqa: E501 - - self._edge_bindings = edge_bindings - - @property - def support_graphs(self): - """Gets the support_graphs of this Analysis. - - This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph. # noqa: E501 - - :return: The support_graphs of this Analysis. - :rtype: List[str] - """ - return self._support_graphs - - @support_graphs.setter - def support_graphs(self, support_graphs): - """Sets the support_graphs of this Analysis. - - This is a list of references to Auxiliary Graph instances that supported the analysis of a Result as performed by the reasoning service. Each item in the list is the key of a single Auxiliary Graph. # noqa: E501 - - :param support_graphs: The support_graphs of this Analysis. - :type support_graphs: List[str] - """ - - self._support_graphs = support_graphs - - @property - def scoring_method(self): - """Gets the scoring_method of this Analysis. - - An identifier and link to an explanation for the method used to generate the score # noqa: E501 - - :return: The scoring_method of this Analysis. - :rtype: str - """ - return self._scoring_method - - @scoring_method.setter - def scoring_method(self, scoring_method): - """Sets the scoring_method of this Analysis. - - An identifier and link to an explanation for the method used to generate the score # noqa: E501 - - :param scoring_method: The scoring_method of this Analysis. - :type scoring_method: str - """ - - self._scoring_method = scoring_method - - @property - def attributes(self): - """Gets the attributes of this Analysis. - - The attributes of this particular Analysis. # noqa: E501 - - :return: The attributes of this Analysis. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this Analysis. - - The attributes of this particular Analysis. # noqa: E501 - - :param attributes: The attributes of this Analysis. - :type attributes: List[Attribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/any_type.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/any_type.py deleted file mode 100644 index 3e88d96bc..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/any_type.py +++ /dev/null @@ -1,12 +0,0 @@ -class AnyType(): - """NOTE: This class should be auto generated by OpenAPI Generator (https://openapi-generator.tech). - But it is mysteriously not, so it was hand-coded by Eric Deutsch - It is a stub type that stands in for any OpenAPI type - """ - - def __init__(self): - - # If openapi_types is None, then util.deserialize_model just returns the data as is, - # which is what we want for AnyType - self.openapi_types = None - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query.py deleted file mode 100644 index e52f776eb..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query.py +++ /dev/null @@ -1,219 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.log_level import LogLevel -from openapi_server.models.message import Message -from openapi_server.models.any_type import AnyType -import re -from openapi_server import util - -from openapi_server.models.log_level import LogLevel # noqa: E501 -from openapi_server.models.message import Message # noqa: E501 -from openapi_server.models.any_type import AnyType # noqa: E501 -import re # noqa: E501 - -class AsyncQuery(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, callback=None, message=None, log_level=None, workflow=None, submitter=None, bypass_cache=False): # noqa: E501 - """AsyncQuery - a model defined in OpenAPI - - :param callback: The callback of this AsyncQuery. # noqa: E501 - :type callback: str - :param message: The message of this AsyncQuery. # noqa: E501 - :type message: Message - :param log_level: The log_level of this AsyncQuery. # noqa: E501 - :type log_level: LogLevel - :param workflow: The workflow of this AsyncQuery. # noqa: E501 - :type workflow: List[AnyType] - :param submitter: The submitter of this AsyncQuery. # noqa: E501 - :type submitter: str - :param bypass_cache: The bypass_cache of this Query. # noqa: E501 - :type bypass_cache: bool - """ - self.openapi_types = { - 'callback': str, - 'message': Message, - 'log_level': LogLevel, - 'workflow': List[AnyType], - 'submitter': str, - 'bypass_cache': bool - } - - self.attribute_map = { - 'callback': 'callback', - 'message': 'message', - 'log_level': 'log_level', - 'workflow': 'workflow', - 'submitter': 'submitter', - 'bypass_cache': 'bypass_cache' - } - - self._callback = callback - self._message = message - self._log_level = log_level - self._workflow = workflow - self._submitter = submitter - self._bypass_cache = bypass_cache - - @classmethod - def from_dict(cls, dikt) -> 'AsyncQuery': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AsyncQuery of this AsyncQuery. # noqa: E501 - :rtype: AsyncQuery - """ - return util.deserialize_model(dikt, cls) - - @property - def callback(self): - """Gets the callback of this AsyncQuery. - - Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once. # noqa: E501 - - :return: The callback of this AsyncQuery. - :rtype: str - """ - return self._callback - - @callback.setter - def callback(self, callback): - """Sets the callback of this AsyncQuery. - - Upon completion, this server will send a POST request to the callback URL with `Content-Type: application/json` header and request body containing a JSON-encoded `Response` object. The server MAY POST `Response` objects before work is fully complete to provide interim results with a Response.status value of 'Running'. If a POST operation to the callback URL does not succeed, the server SHOULD retry the POST at least once. # noqa: E501 - - :param callback: The callback of this AsyncQuery. - :type callback: str - """ - if callback is None: - raise ValueError("Invalid value for `callback`, must not be `None`") # noqa: E501 - if callback is not None and not re.search(r'^https?:\/\/', callback): # noqa: E501 - raise ValueError("Invalid value for `callback`, must be a follow pattern or equal to `/^https?:\/\//`") # noqa: E501 - - self._callback = callback - - @property - def message(self): - """Gets the message of this AsyncQuery. - - - :return: The message of this AsyncQuery. - :rtype: Message - """ - return self._message - - @message.setter - def message(self, message): - """Sets the message of this AsyncQuery. - - - :param message: The message of this AsyncQuery. - :type message: Message - """ - if message is None: - raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501 - - self._message = message - - @property - def log_level(self): - """Gets the log_level of this AsyncQuery. - - The least critical level of logs to return # noqa: E501 - - :return: The log_level of this AsyncQuery. - :rtype: LogLevel - """ - return self._log_level - - @log_level.setter - def log_level(self, log_level): - """Sets the log_level of this AsyncQuery. - - The least critical level of logs to return # noqa: E501 - - :param log_level: The log_level of this AsyncQuery. - :type log_level: LogLevel - """ - - self._log_level = log_level - - @property - def workflow(self): - """Gets the workflow of this AsyncQuery. - - List of workflow steps to be executed. # noqa: E501 - - :return: The workflow of this AsyncQuery. - :rtype: List[AnyType] - """ - return self._workflow - - @workflow.setter - def workflow(self, workflow): - """Sets the workflow of this AsyncQuery. - - List of workflow steps to be executed. # noqa: E501 - - :param workflow: The workflow of this AsyncQuery. - :type workflow: List[AnyType] - """ - - self._workflow = workflow - - @property - def submitter(self): - """Gets the submitter of this AsyncQuery. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :return: The submitter of this AsyncQuery. - :rtype: str - """ - return self._submitter - - @submitter.setter - def submitter(self, submitter): - """Sets the submitter of this AsyncQuery. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :param submitter: The submitter of this AsyncQuery. - :type submitter: str - """ - - self._submitter = submitter - - @property - def bypass_cache(self): - """Gets the bypass_cache of this Query. - - Set to true in order to bypass any possible cached response and try to answer the query from scratch # noqa: E501 - - :return: The bypass_cache of this Query. - :rtype: bool - """ - return self._bypass_cache - - @bypass_cache.setter - def bypass_cache(self, bypass_cache): - """Sets the bypass_cache of this Query. - - Set to true in order to bypass any possible cached response and try to answer the query from scratch # noqa: E501 - - :param bypass_cache: The bypass_cache of this Query. - :type bypass_cache: bool - """ - - self._bypass_cache = bypass_cache - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_response.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_response.py deleted file mode 100644 index dff622d84..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_response.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class AsyncQueryResponse(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, status=None, description=None, job_id=None): # noqa: E501 - """AsyncQueryResponse - a model defined in OpenAPI - - :param status: The status of this AsyncQueryResponse. # noqa: E501 - :type status: str - :param description: The description of this AsyncQueryResponse. # noqa: E501 - :type description: str - :param job_id: The job_id of this AsyncQueryResponse. # noqa: E501 - :type job_id: str - """ - self.openapi_types = { - 'status': str, - 'description': str, - 'job_id': str - } - - self.attribute_map = { - 'status': 'status', - 'description': 'description', - 'job_id': 'job_id' - } - - self._status = status - self._description = description - self._job_id = job_id - - @classmethod - def from_dict(cls, dikt) -> 'AsyncQueryResponse': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AsyncQueryResponse of this AsyncQueryResponse. # noqa: E501 - :rtype: AsyncQueryResponse - """ - return util.deserialize_model(dikt, cls) - - @property - def status(self): - """Gets the status of this AsyncQueryResponse. - - One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable # noqa: E501 - - :return: The status of this AsyncQueryResponse. - :rtype: str - """ - return self._status - - @status.setter - def status(self, status): - """Sets the status of this AsyncQueryResponse. - - One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, KPsNotAvailable # noqa: E501 - - :param status: The status of this AsyncQueryResponse. - :type status: str - """ - - self._status = status - - @property - def description(self): - """Gets the description of this AsyncQueryResponse. - - A brief human-readable description of the result of the async_query submission. # noqa: E501 - - :return: The description of this AsyncQueryResponse. - :rtype: str - """ - return self._description - - @description.setter - def description(self, description): - """Sets the description of this AsyncQueryResponse. - - A brief human-readable description of the result of the async_query submission. # noqa: E501 - - :param description: The description of this AsyncQueryResponse. - :type description: str - """ - - self._description = description - - @property - def job_id(self): - """Gets the job_id of this AsyncQueryResponse. - - An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job. # noqa: E501 - - :return: The job_id of this AsyncQueryResponse. - :rtype: str - """ - return self._job_id - - @job_id.setter - def job_id(self, job_id): - """Sets the job_id of this AsyncQueryResponse. - - An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job. # noqa: E501 - - :param job_id: The job_id of this AsyncQueryResponse. - :type job_id: str - """ - if job_id is None: - raise ValueError("Invalid value for `job_id`, must not be `None`") # noqa: E501 - - self._job_id = job_id diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_status_response.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_status_response.py deleted file mode 100644 index a7d91cb37..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/async_query_status_response.py +++ /dev/null @@ -1,158 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.log_entry import LogEntry -from openapi_server import util - -from openapi_server.models.log_entry import LogEntry # noqa: E501 - -class AsyncQueryStatusResponse(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, status=None, description=None, logs=None, response_url=None): # noqa: E501 - """AsyncQueryStatusResponse - a model defined in OpenAPI - - :param status: The status of this AsyncQueryStatusResponse. # noqa: E501 - :type status: str - :param description: The description of this AsyncQueryStatusResponse. # noqa: E501 - :type description: str - :param logs: The logs of this AsyncQueryStatusResponse. # noqa: E501 - :type logs: List[LogEntry] - :param response_url: The response_url of this AsyncQueryStatusResponse. # noqa: E501 - :type response_url: str - """ - self.openapi_types = { - 'status': str, - 'description': str, - 'logs': List[LogEntry], - 'response_url': str - } - - self.attribute_map = { - 'status': 'status', - 'description': 'description', - 'logs': 'logs', - 'response_url': 'response_url' - } - - self._status = status - self._description = description - self._logs = logs - self._response_url = response_url - - @classmethod - def from_dict(cls, dikt) -> 'AsyncQueryStatusResponse': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AsyncQueryStatusResponse of this AsyncQueryStatusResponse. # noqa: E501 - :rtype: AsyncQueryStatusResponse - """ - return util.deserialize_model(dikt, cls) - - @property - def status(self): - """Gets the status of this AsyncQueryStatusResponse. - - One of a standardized set of short codes: Queued, Running, Completed, Failed # noqa: E501 - - :return: The status of this AsyncQueryStatusResponse. - :rtype: str - """ - return self._status - - @status.setter - def status(self, status): - """Sets the status of this AsyncQueryStatusResponse. - - One of a standardized set of short codes: Queued, Running, Completed, Failed # noqa: E501 - - :param status: The status of this AsyncQueryStatusResponse. - :type status: str - """ - if status is None: - raise ValueError("Invalid value for `status`, must not be `None`") # noqa: E501 - - self._status = status - - @property - def description(self): - """Gets the description of this AsyncQueryStatusResponse. - - A brief human-readable description of the current state or summary of the problem if the status is Failed. # noqa: E501 - - :return: The description of this AsyncQueryStatusResponse. - :rtype: str - """ - return self._description - - @description.setter - def description(self, description): - """Sets the description of this AsyncQueryStatusResponse. - - A brief human-readable description of the current state or summary of the problem if the status is Failed. # noqa: E501 - - :param description: The description of this AsyncQueryStatusResponse. - :type description: str - """ - if description is None: - raise ValueError("Invalid value for `description`, must not be `None`") # noqa: E501 - - self._description = description - - @property - def logs(self): - """Gets the logs of this AsyncQueryStatusResponse. - - A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity. # noqa: E501 - - :return: The logs of this AsyncQueryStatusResponse. - :rtype: List[LogEntry] - """ - return self._logs - - @logs.setter - def logs(self, logs): - """Sets the logs of this AsyncQueryStatusResponse. - - A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. The most recent entry should be last. Its timestamp will be compared against the current time to see if there is still activity. # noqa: E501 - - :param logs: The logs of this AsyncQueryStatusResponse. - :type logs: List[LogEntry] - """ - if logs is None: - raise ValueError("Invalid value for `logs`, must not be `None`") # noqa: E501 - - self._logs = logs - - @property - def response_url(self): - """Gets the response_url of this AsyncQueryStatusResponse. - - Optional URL that can be queried to restrieve the full TRAPI Response. # noqa: E501 - - :return: The response_url of this AsyncQueryStatusResponse. - :rtype: str - """ - return self._response_url - - @response_url.setter - def response_url(self, response_url): - """Sets the response_url of this AsyncQueryStatusResponse. - - Optional URL that can be queried to restrieve the full TRAPI Response. # noqa: E501 - - :param response_url: The response_url of this AsyncQueryStatusResponse. - :type response_url: str - """ - - self._response_url = response_url diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute.py deleted file mode 100644 index d4d38a9d8..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class Attribute(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, attribute_type_id=None, original_attribute_name=None, value=None, value_type_id=None, attribute_source=None, value_url=None, description=None, attributes=None): # noqa: E501 - """Attribute - a model defined in OpenAPI - - :param attribute_type_id: The attribute_type_id of this Attribute. # noqa: E501 - :type attribute_type_id: str - :param original_attribute_name: The original_attribute_name of this Attribute. # noqa: E501 - :type original_attribute_name: str - :param value: The value of this Attribute. # noqa: E501 - :type value: object - :param value_type_id: The value_type_id of this Attribute. # noqa: E501 - :type value_type_id: str - :param attribute_source: The attribute_source of this Attribute. # noqa: E501 - :type attribute_source: str - :param value_url: The value_url of this Attribute. # noqa: E501 - :type value_url: str - :param description: The description of this Attribute. # noqa: E501 - :type description: str - :param attributes: The attributes of this Attribute. # noqa: E501 - :type attributes: List[Attribute] - """ - self.openapi_types = { - 'attribute_type_id': str, - 'original_attribute_name': str, - 'value': object, - 'value_type_id': str, - 'attribute_source': str, - 'value_url': str, - 'description': str, - 'attributes': List[Attribute] - } - - self.attribute_map = { - 'attribute_type_id': 'attribute_type_id', - 'original_attribute_name': 'original_attribute_name', - 'value': 'value', - 'value_type_id': 'value_type_id', - 'attribute_source': 'attribute_source', - 'value_url': 'value_url', - 'description': 'description', - 'attributes': 'attributes' - } - - self._attribute_type_id = attribute_type_id - self._original_attribute_name = original_attribute_name - self._value = value - self._value_type_id = value_type_id - self._attribute_source = attribute_source - self._value_url = value_url - self._description = description - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'Attribute': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Attribute of this Attribute. # noqa: E501 - :rtype: Attribute - """ - return util.deserialize_model(dikt, cls) - - @property - def attribute_type_id(self): - """Gets the attribute_type_id of this Attribute. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The attribute_type_id of this Attribute. - :rtype: str - """ - return self._attribute_type_id - - @attribute_type_id.setter - def attribute_type_id(self, attribute_type_id): - """Sets the attribute_type_id of this Attribute. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param attribute_type_id: The attribute_type_id of this Attribute. - :type attribute_type_id: str - """ - if attribute_type_id is None: - raise ValueError("Invalid value for `attribute_type_id`, must not be `None`") # noqa: E501 - - self._attribute_type_id = attribute_type_id - - @property - def original_attribute_name(self): - """Gets the original_attribute_name of this Attribute. - - The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term. # noqa: E501 - - :return: The original_attribute_name of this Attribute. - :rtype: str - """ - return self._original_attribute_name - - @original_attribute_name.setter - def original_attribute_name(self, original_attribute_name): - """Sets the original_attribute_name of this Attribute. - - The term used by the original source of an attribute to describe the meaning or significance of the value it captures. This may be a column name in a source tsv file, or a key in a source json document for the field in the data that held the attribute's value. Capturing this information where possible lets us preserve what the original source said. Note that the data type is string' but the contents of the field could also be a CURIE of a third party ontology term. # noqa: E501 - - :param original_attribute_name: The original_attribute_name of this Attribute. - :type original_attribute_name: str - """ - - self._original_attribute_name = original_attribute_name - - @property - def value(self): - """Gets the value of this Attribute. - - Value of the attribute. May be any data type, including a list. # noqa: E501 - - :return: The value of this Attribute. - :rtype: object - """ - return self._value - - @value.setter - def value(self, value): - """Sets the value of this Attribute. - - Value of the attribute. May be any data type, including a list. # noqa: E501 - - :param value: The value of this Attribute. - :type value: object - """ - if value is None: - raise ValueError("Invalid value for `value`, must not be `None`") # noqa: E501 - - self._value = value - - @property - def value_type_id(self): - """Gets the value_type_id of this Attribute. - - CURIE describing the semantic type of an attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority. # noqa: E501 - - :return: The value_type_id of this Attribute. - :rtype: str - """ - return self._value_type_id - - @value_type_id.setter - def value_type_id(self, value_type_id): - """Sets the value_type_id of this Attribute. - - CURIE describing the semantic type of an attribute's value. Use a Biolink class if possible, otherwise a term from an external ontology. If a suitable CURIE/identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority. # noqa: E501 - - :param value_type_id: The value_type_id of this Attribute. - :type value_type_id: str - """ - - self._value_type_id = value_type_id - - @property - def attribute_source(self): - """Gets the attribute_source of this Attribute. - - The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible. # noqa: E501 - - :return: The attribute_source of this Attribute. - :rtype: str - """ - return self._attribute_source - - @attribute_source.setter - def attribute_source(self, attribute_source): - """Sets the attribute_source of this Attribute. - - The source of the core assertion made by the key-value pair of an attribute object. Use a CURIE or namespace designator for this resource where possible. # noqa: E501 - - :param attribute_source: The attribute_source of this Attribute. - :type attribute_source: str - """ - - self._attribute_source = attribute_source - - @property - def value_url(self): - """Gets the value_url of this Attribute. - - Human-consumable URL linking to a web document that provides additional information about an attribute's value (not the node or the edge fom which it hangs). # noqa: E501 - - :return: The value_url of this Attribute. - :rtype: str - """ - return self._value_url - - @value_url.setter - def value_url(self, value_url): - """Sets the value_url of this Attribute. - - Human-consumable URL linking to a web document that provides additional information about an attribute's value (not the node or the edge fom which it hangs). # noqa: E501 - - :param value_url: The value_url of this Attribute. - :type value_url: str - """ - - self._value_url = value_url - - @property - def description(self): - """Gets the description of this Attribute. - - Human-readable description for the attribute and its value. # noqa: E501 - - :return: The description of this Attribute. - :rtype: str - """ - return self._description - - @description.setter - def description(self, description): - """Sets the description of this Attribute. - - Human-readable description for the attribute and its value. # noqa: E501 - - :param description: The description of this Attribute. - :type description: str - """ - - self._description = description - - @property - def attributes(self): - """Gets the attributes of this Attribute. - - A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute). # noqa: E501 - - :return: The attributes of this Attribute. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this Attribute. - - A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute). # noqa: E501 - - :param attributes: The attributes of this Attribute. - :type attributes: List[Attribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute_constraint.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute_constraint.py deleted file mode 100644 index 7614d29d5..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/attribute_constraint.py +++ /dev/null @@ -1,244 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class AttributeConstraint(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, name=None, _not=False, operator=None, value=None, unit_id=None, unit_name=None): # noqa: E501 - """AttributeConstraint - a model defined in OpenAPI - - :param id: The id of this AttributeConstraint. # noqa: E501 - :type id: str - :param name: The name of this AttributeConstraint. # noqa: E501 - :type name: str - :param _not: The _not of this AttributeConstraint. # noqa: E501 - :type _not: bool - :param operator: The operator of this AttributeConstraint. # noqa: E501 - :type operator: str - :param value: The value of this AttributeConstraint. # noqa: E501 - :type value: object - :param unit_id: The unit_id of this AttributeConstraint. # noqa: E501 - :type unit_id: object - :param unit_name: The unit_name of this AttributeConstraint. # noqa: E501 - :type unit_name: object - """ - self.openapi_types = { - 'id': str, - 'name': str, - '_not': bool, - 'operator': str, - 'value': object, - 'unit_id': object, - 'unit_name': object - } - - self.attribute_map = { - 'id': 'id', - 'name': 'name', - '_not': 'not', - 'operator': 'operator', - 'value': 'value', - 'unit_id': 'unit_id', - 'unit_name': 'unit_name' - } - - self._id = id - self._name = name - self.__not = _not - self._operator = operator - self._value = value - self._unit_id = unit_id - self._unit_name = unit_name - - @classmethod - def from_dict(cls, dikt) -> 'AttributeConstraint': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AttributeConstraint of this AttributeConstraint. # noqa: E501 - :rtype: AttributeConstraint - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this AttributeConstraint. - - CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority. # noqa: E501 - - :return: The id of this AttributeConstraint. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this AttributeConstraint. - - CURIE of the concept being constrained. For properties defined by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority. # noqa: E501 - - :param id: The id of this AttributeConstraint. - :type id: str - """ - if id is None: - raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501 - - self._id = id - - @property - def name(self): - """Gets the name of this AttributeConstraint. - - Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability. # noqa: E501 - - :return: The name of this AttributeConstraint. - :rtype: str - """ - return self._name - - @name.setter - def name(self, name): - """Sets the name of this AttributeConstraint. - - Human-readable name or label for the constraint concept. If appropriate, it SHOULD be the term name of the CURIE used as the 'id'. This is redundant but required for human readability. # noqa: E501 - - :param name: The name of this AttributeConstraint. - :type name: str - """ - if name is None: - raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501 - - self._name = name - - @property - def _not(self): - """Gets the _not of this AttributeConstraint. - - - :return: The _not of this AttributeConstraint. - :rtype: bool - """ - return self.__not - - @_not.setter - def _not(self, _not): - """Sets the _not of this AttributeConstraint. - - - :param _not: The _not of this AttributeConstraint. - :type _not: bool - """ - - self.__not = _not - - @property - def operator(self): - """Gets the operator of this AttributeConstraint. - - Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode. # noqa: E501 - - :return: The operator of this AttributeConstraint. - :rtype: str - """ - return self._operator - - @operator.setter - def operator(self, operator): - """Sets the operator of this AttributeConstraint. - - Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is equal to, is greater than, and is less than, respectively. The 'matches' operator indicates that the value is a regular expression to be evaluated. If value is a list type, then at least one evaluation must be true (equivalent to OR). This means that the == operator with a list acts like a SQL 'IN' clause. If the value of the compared attribute is a list, then comparisons are performed between each of the constraint values and each of the attribute values, and any one true evaluation counts as an overall true (e.g., [1,2,3] == [6,7,2] is true). The == operator is therefore a broad interpretation of inclusion. The '===' operator requires that the constraint value and the attribute value be the same data type, length, content, and order (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator such that not and == means 'not equal to' (or 'not in' for a list), and not > means <=, and not < means >=, not matches means does not match, and not === means the match between the constraint and attribute values are not exact. The '==' operator SHOULD NOT be used in a manner that describes an \"is a\" subclass relationship for the parent QNode. # noqa: E501 - - :param operator: The operator of this AttributeConstraint. - :type operator: str - """ - allowed_values = ["==", ">", "<", "matches", "==="] # noqa: E501 - if operator not in allowed_values: - raise ValueError( - "Invalid value for `operator` ({0}), must be one of {1}" - .format(operator, allowed_values) - ) - - self._operator = operator - - @property - def value(self): - """Gets the value of this AttributeConstraint. - - Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages. # noqa: E501 - - :return: The value of this AttributeConstraint. - :rtype: object - """ - return self._value - - @value.setter - def value(self, value): - """Sets the value of this AttributeConstraint. - - Value of the attribute. May be any data type, including a list. If the value is a list and there are multiple items, at least one comparison must be true (equivalent to OR) unless the '===' operator is used. If 'value' is of data type 'object', the keys of the object MAY be treated as a list. A 'list' data type paired with the '>' or '<' operators will encode extraneous comparisons, but this is permitted as it is in SQL and other languages. # noqa: E501 - - :param value: The value of this AttributeConstraint. - :type value: object - """ - if value is None: - raise ValueError("Invalid value for `value`, must not be `None`") # noqa: E501 - - self._value = value - - @property - def unit_id(self): - """Gets the unit_id of this AttributeConstraint. - - CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units. # noqa: E501 - - :return: The unit_id of this AttributeConstraint. - :rtype: object - """ - return self._unit_id - - @unit_id.setter - def unit_id(self, unit_id): - """Sets the unit_id of this AttributeConstraint. - - CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) should be used if possible. The unit_id MUST be provided for (lists of) numerical values that correspond to a quantity that has units. # noqa: E501 - - :param unit_id: The unit_id of this AttributeConstraint. - :type unit_id: object - """ - - self._unit_id = unit_id - - @property - def unit_name(self): - """Gets the unit_name of this AttributeConstraint. - - Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability. # noqa: E501 - - :return: The unit_name of this AttributeConstraint. - :rtype: object - """ - return self._unit_name - - @unit_name.setter - def unit_name(self, unit_name): - """Sets the unit_name of this AttributeConstraint. - - Term name that is associated with the CURIE of the units of the value or list of values in the 'value' property. The Units of Measurement Ontology (UO) SHOULD be used if possible. This property SHOULD be provided if a unit_id is provided. This is redundant but recommended for human readability. # noqa: E501 - - :param unit_name: The unit_name of this AttributeConstraint. - :type unit_name: object - """ - - self._unit_name = unit_name diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/auxiliary_graph.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/auxiliary_graph.py deleted file mode 100644 index 40088025c..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/auxiliary_graph.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 - -class AuxiliaryGraph(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, edges=None, attributes=None): # noqa: E501 - """AuxiliaryGraph - a model defined in OpenAPI - - :param edges: The edges of this AuxiliaryGraph. # noqa: E501 - :type edges: List[str] - :param attributes: The attributes of this AuxiliaryGraph. # noqa: E501 - :type attributes: List[Attribute] - """ - self.openapi_types = { - 'edges': List[str], - 'attributes': List[Attribute] - } - - self.attribute_map = { - 'edges': 'edges', - 'attributes': 'attributes' - } - - self._edges = edges - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'AuxiliaryGraph': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The AuxiliaryGraph of this AuxiliaryGraph. # noqa: E501 - :rtype: AuxiliaryGraph - """ - return util.deserialize_model(dikt, cls) - - @property - def edges(self): - """Gets the edges of this AuxiliaryGraph. - - List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge # noqa: E501 - - :return: The edges of this AuxiliaryGraph. - :rtype: List[str] - """ - return self._edges - - @edges.setter - def edges(self, edges): - """Sets the edges of this AuxiliaryGraph. - - List of edges that form the Auxiliary Graph. Each item is a reference to a single Knowledge Graph edge # noqa: E501 - - :param edges: The edges of this AuxiliaryGraph. - :type edges: List[str] - """ - if edges is None: - raise ValueError("Invalid value for `edges`, must not be `None`") # noqa: E501 - if edges is not None and len(edges) < 1: - raise ValueError("Invalid value for `edges`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._edges = edges - - @property - def attributes(self): - """Gets the attributes of this AuxiliaryGraph. - - Attributes of the Auxiliary Graph # noqa: E501 - - :return: The attributes of this AuxiliaryGraph. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this AuxiliaryGraph. - - Attributes of the Auxiliary Graph # noqa: E501 - - :param attributes: The attributes of this AuxiliaryGraph. - :type attributes: List[Attribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/base_model_.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/base_model_.py deleted file mode 100644 index 0a20df413..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/base_model_.py +++ /dev/null @@ -1,96 +0,0 @@ -import pprint - -import six -import typing - -from openapi_server import util - -T = typing.TypeVar('T') - - -class Model(object): - # openapiTypes: The key is attribute name and the - # value is attribute type. - openapi_types = {} - - # attributeMap: The key is attribute name and the - # value is json key in definition. - attribute_map = {} - - @classmethod - def from_dict(cls: typing.Type[T], dikt) -> T: - """Returns the dict as a model""" - return util.deserialize_model(dikt, cls) - - def to_dict(self): - """Returns the model properties as a dict - - :rtype: dict - """ - result = {} - - for attr, _ in six.iteritems(self.openapi_types): - value = getattr(self, attr) - if isinstance(value, list): - result[attr] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - value - )) - elif hasattr(value, "to_dict"): - result[attr] = value.to_dict() - elif isinstance(value, dict): - - #### This only can handle one level of lists or dicts between objects - #result[attr] = dict(map( - # lambda item: (item[0], item[1].to_dict()) - # if hasattr(item[1], "to_dict") else item, - # value.items() - #)) - - #### This is a little fancier in that it can handle two levels, a dict and then - #### another dict or list between objects. Not the ultimate solution but - #### perhaps adequate for now? - result_dict = {} - for dict_key, dict_value in value.items(): - if isinstance(dict_value, list): - result_dict[dict_key] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - dict_value - )) - elif isinstance(dict_value, dict): - result_dict[dict_key] = dict(map( - lambda dict_value_item: (dict_value_item[0], dict_value_item[1].to_dict()) - if hasattr(dict_value_item[1], "to_dict") else dict_value_item, - dict_value.items() - )) - elif hasattr(dict_value, "to_dict"): - result_dict[dict_key] = dict_value.to_dict() - else: - result_dict[dict_key] = dict_value - result[attr] = result_dict - - else: - if attr == '_not': - attr = 'not' - result[attr] = value - - return result - - def to_str(self): - """Returns the string representation of the model - - :rtype: str - """ - return pprint.pformat(self.to_dict()) - - def __repr__(self): - """For `print` and `pprint`""" - return self.to_str() - - def __eq__(self, other): - """Returns true if both objects are equal""" - return self.__dict__ == other.__dict__ - - def __ne__(self, other): - """Returns true if both objects are not equal""" - return not self == other diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge.py deleted file mode 100644 index 404761e01..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge.py +++ /dev/null @@ -1,221 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server.models.qualifier import Qualifier -from openapi_server.models.retrieval_source import RetrievalSource -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 -from openapi_server.models.qualifier import Qualifier # noqa: E501 -from openapi_server.models.retrieval_source import RetrievalSource # noqa: E501 - -class Edge(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, predicate=None, subject=None, object=None, attributes=None, qualifiers=None, sources=None): # noqa: E501 - """Edge - a model defined in OpenAPI - - :param predicate: The predicate of this Edge. # noqa: E501 - :type predicate: str - :param subject: The subject of this Edge. # noqa: E501 - :type subject: str - :param object: The object of this Edge. # noqa: E501 - :type object: str - :param attributes: The attributes of this Edge. # noqa: E501 - :type attributes: List[Attribute] - :param qualifiers: The qualifiers of this Edge. # noqa: E501 - :type qualifiers: List[Qualifier] - :param sources: The sources of this Edge. # noqa: E501 - :type sources: List[RetrievalSource] - """ - self.openapi_types = { - 'predicate': str, - 'subject': str, - 'object': str, - 'attributes': List[Attribute], - 'qualifiers': List[Qualifier], - 'sources': List[RetrievalSource] - } - - self.attribute_map = { - 'predicate': 'predicate', - 'subject': 'subject', - 'object': 'object', - 'attributes': 'attributes', - 'qualifiers': 'qualifiers', - 'sources': 'sources' - } - - self._predicate = predicate - self._subject = subject - self._object = object - self._attributes = attributes - self._qualifiers = qualifiers - self._sources = sources - - @classmethod - def from_dict(cls, dikt) -> 'Edge': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Edge of this Edge. # noqa: E501 - :rtype: Edge - """ - return util.deserialize_model(dikt, cls) - - @property - def predicate(self): - """Gets the predicate of this Edge. - - - :return: The predicate of this Edge. - :rtype: str - """ - return self._predicate - - @predicate.setter - def predicate(self, predicate): - """Sets the predicate of this Edge. - - - :param predicate: The predicate of this Edge. - :type predicate: str - """ - if predicate is None: - raise ValueError("Invalid value for `predicate`, must not be `None`") # noqa: E501 - - self._predicate = predicate - - @property - def subject(self): - """Gets the subject of this Edge. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The subject of this Edge. - :rtype: str - """ - return self._subject - - @subject.setter - def subject(self, subject): - """Sets the subject of this Edge. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param subject: The subject of this Edge. - :type subject: str - """ - if subject is None: - raise ValueError("Invalid value for `subject`, must not be `None`") # noqa: E501 - - self._subject = subject - - @property - def object(self): - """Gets the object of this Edge. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The object of this Edge. - :rtype: str - """ - return self._object - - @object.setter - def object(self, object): - """Sets the object of this Edge. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param object: The object of this Edge. - :type object: str - """ - if object is None: - raise ValueError("Invalid value for `object`, must not be `None`") # noqa: E501 - - self._object = object - - @property - def attributes(self): - """Gets the attributes of this Edge. - - A list of additional attributes for this edge # noqa: E501 - - :return: The attributes of this Edge. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this Edge. - - A list of additional attributes for this edge # noqa: E501 - - :param attributes: The attributes of this Edge. - :type attributes: List[Attribute] - """ - - self._attributes = attributes - - @property - def qualifiers(self): - """Gets the qualifiers of this Edge. - - A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge. # noqa: E501 - - :return: The qualifiers of this Edge. - :rtype: List[Qualifier] - """ - return self._qualifiers - - @qualifiers.setter - def qualifiers(self, qualifiers): - """Sets the qualifiers of this Edge. - - A set of Qualifiers that act together to add nuance or detail to the statement expressed in an Edge. # noqa: E501 - - :param qualifiers: The qualifiers of this Edge. - :type qualifiers: List[Qualifier] - """ - - self._qualifiers = qualifiers - - @property - def sources(self): - """Gets the sources of this Edge. - - A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved. # noqa: E501 - - :return: The sources of this Edge. - :rtype: List[RetrievalSource] - """ - return self._sources - - @sources.setter - def sources(self, sources): - """Sets the sources of this Edge. - - A list of RetrievalSource objects that provide information about how a particular Information Resource served as a source from which the knowledge expressed in an Edge, or data used to generate this knowledge, was retrieved. # noqa: E501 - - :param sources: The sources of this Edge. - :type sources: List[RetrievalSource] - """ - if sources is None: - raise ValueError("Invalid value for `sources`, must not be `None`") # noqa: E501 - if sources is not None and len(sources) < 1: - raise ValueError("Invalid value for `sources`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._sources = sources - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge_binding.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge_binding.py deleted file mode 100644 index d5e4b79c7..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/edge_binding.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 - -class EdgeBinding(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, attributes=None): # noqa: E501 - """EdgeBinding - a model defined in OpenAPI - - :param id: The id of this EdgeBinding. # noqa: E501 - :type id: str - :param attributes: The attributes of this EdgeBinding. # noqa: E501 - :type attributes: List[Attribute] - """ - self.openapi_types = { - 'id': str, - 'attributes': List[Attribute] - } - - self.attribute_map = { - 'id': 'id', - 'attributes': 'attributes' - } - - self._id = id - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'EdgeBinding': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The EdgeBinding of this EdgeBinding. # noqa: E501 - :rtype: EdgeBinding - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this EdgeBinding. - - The key identifier of a specific KnowledgeGraph Edge. # noqa: E501 - - :return: The id of this EdgeBinding. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this EdgeBinding. - - The key identifier of a specific KnowledgeGraph Edge. # noqa: E501 - - :param id: The id of this EdgeBinding. - :type id: str - """ - if id is None: - raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501 - - self._id = id - - @property - def attributes(self): - """Gets the attributes of this EdgeBinding. - - A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result. # noqa: E501 - - :return: The attributes of this EdgeBinding. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this EdgeBinding. - - A list of attributes providing further information about the edge binding. This is not intended for capturing edge attributes and should only be used for properties that vary from result to result. # noqa: E501 - - :param attributes: The attributes of this EdgeBinding. - :type attributes: List[Attribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/entity_query.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/entity_query.py deleted file mode 100644 index 39f587612..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/entity_query.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class EntityQuery(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, terms=None, format=None): # noqa: E501 - """EntityQuery - a model defined in OpenAPI - - :param terms: The terms of this EntityQuery. # noqa: E501 - :type terms: List[str] - :param format: The format of this EntityQuery. # noqa: E501 - :type format: str - """ - self.openapi_types = { - 'terms': List[str], - 'format': str - } - - self.attribute_map = { - 'terms': 'terms', - 'format': 'format' - } - - self._terms = terms - self._format = format - - @classmethod - def from_dict(cls, dikt) -> 'EntityQuery': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The EntityQuery of this EntityQuery. # noqa: E501 - :rtype: EntityQuery - """ - return util.deserialize_model(dikt, cls) - - @property - def terms(self): - """Gets the terms of this EntityQuery. - - List of term strings to search for # noqa: E501 - - :return: The terms of this EntityQuery. - :rtype: List[str] - """ - return self._terms - - @terms.setter - def terms(self, terms): - """Sets the terms of this EntityQuery. - - List of term strings to search for # noqa: E501 - - :param terms: The terms of this EntityQuery. - :type terms: List[str] - """ - - self._terms = terms - - @property - def format(self): - """Gets the format of this EntityQuery. - - Format of the response (full or compact) # noqa: E501 - - :return: The format of this EntityQuery. - :rtype: str - """ - return self._format - - @format.setter - def format(self, format): - """Sets the format of this EntityQuery. - - Format of the response (full or compact) # noqa: E501 - - :param format: The format of this EntityQuery. - :type format: str - """ - - self._format = format diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/knowledge_graph.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/knowledge_graph.py deleted file mode 100644 index b892ed2a0..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/knowledge_graph.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.edge import Edge -from openapi_server.models.node import Node -from openapi_server import util - -from openapi_server.models.edge import Edge # noqa: E501 -from openapi_server.models.node import Node # noqa: E501 - -class KnowledgeGraph(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, nodes=None, edges=None): # noqa: E501 - """KnowledgeGraph - a model defined in OpenAPI - - :param nodes: The nodes of this KnowledgeGraph. # noqa: E501 - :type nodes: Dict[str, Node] - :param edges: The edges of this KnowledgeGraph. # noqa: E501 - :type edges: Dict[str, Edge] - """ - self.openapi_types = { - 'nodes': Dict[str, Node], - 'edges': Dict[str, Edge] - } - - self.attribute_map = { - 'nodes': 'nodes', - 'edges': 'edges' - } - - self._nodes = nodes - self._edges = edges - - @classmethod - def from_dict(cls, dikt) -> 'KnowledgeGraph': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The KnowledgeGraph of this KnowledgeGraph. # noqa: E501 - :rtype: KnowledgeGraph - """ - return util.deserialize_model(dikt, cls) - - @property - def nodes(self): - """Gets the nodes of this KnowledgeGraph. - - Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key. # noqa: E501 - - :return: The nodes of this KnowledgeGraph. - :rtype: Dict[str, Node] - """ - return self._nodes - - @nodes.setter - def nodes(self, nodes): - """Sets the nodes of this KnowledgeGraph. - - Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key. # noqa: E501 - - :param nodes: The nodes of this KnowledgeGraph. - :type nodes: Dict[str, Node] - """ - if nodes is None: - raise ValueError("Invalid value for `nodes`, must not be `None`") # noqa: E501 - - self._nodes = nodes - - @property - def edges(self): - """Gets the edges of this KnowledgeGraph. - - Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key. # noqa: E501 - - :return: The edges of this KnowledgeGraph. - :rtype: Dict[str, Edge] - """ - return self._edges - - @edges.setter - def edges(self, edges): - """Sets the edges of this KnowledgeGraph. - - Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key. # noqa: E501 - - :param edges: The edges of this KnowledgeGraph. - :type edges: Dict[str, Edge] - """ - if edges is None: - raise ValueError("Invalid value for `edges`, must not be `None`") # noqa: E501 - - self._edges = edges diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_entry.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_entry.py deleted file mode 100644 index 73c67a65d..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_entry.py +++ /dev/null @@ -1,154 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.log_level import LogLevel -from openapi_server import util - -from openapi_server.models.log_level import LogLevel # noqa: E501 - -class LogEntry(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, timestamp=None, level=None, code=None, message=None): # noqa: E501 - """LogEntry - a model defined in OpenAPI - - :param timestamp: The timestamp of this LogEntry. # noqa: E501 - :type timestamp: datetime - :param level: The level of this LogEntry. # noqa: E501 - :type level: LogLevel - :param code: The code of this LogEntry. # noqa: E501 - :type code: str - :param message: The message of this LogEntry. # noqa: E501 - :type message: str - """ - self.openapi_types = { - 'timestamp': datetime, - 'level': LogLevel, - 'code': str, - 'message': str - } - - self.attribute_map = { - 'timestamp': 'timestamp', - 'level': 'level', - 'code': 'code', - 'message': 'message' - } - - self._timestamp = timestamp - self._level = level - self._code = code - self._message = message - - @classmethod - def from_dict(cls, dikt) -> 'LogEntry': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The LogEntry of this LogEntry. # noqa: E501 - :rtype: LogEntry - """ - return util.deserialize_model(dikt, cls) - - @property - def timestamp(self): - """Gets the timestamp of this LogEntry. - - Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00). # noqa: E501 - - :return: The timestamp of this LogEntry. - :rtype: datetime - """ - return self._timestamp - - @timestamp.setter - def timestamp(self, timestamp): - """Sets the timestamp of this LogEntry. - - Timestamp in ISO 8601 format, providing the LogEntry time either in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), or, if local time is provided, the timezone offset must be provided (e.g. 2020-09-03T18:13:49-04:00). # noqa: E501 - - :param timestamp: The timestamp of this LogEntry. - :type timestamp: datetime - """ - if timestamp is None: - raise ValueError("Invalid value for `timestamp`, must not be `None`") # noqa: E501 - - self._timestamp = timestamp - - @property - def level(self): - """Gets the level of this LogEntry. - - - :return: The level of this LogEntry. - :rtype: LogLevel - """ - return self._level - - @level.setter - def level(self, level): - """Sets the level of this LogEntry. - - - :param level: The level of this LogEntry. - :type level: LogLevel - """ - - self._level = level - - @property - def code(self): - """Gets the code of this LogEntry. - - One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed # noqa: E501 - - :return: The code of this LogEntry. - :rtype: str - """ - return self._code - - @code.setter - def code(self, code): - """Sets the code of this LogEntry. - - One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed # noqa: E501 - - :param code: The code of this LogEntry. - :type code: str - """ - - self._code = code - - @property - def message(self): - """Gets the message of this LogEntry. - - A human-readable log message # noqa: E501 - - :return: The message of this LogEntry. - :rtype: str - """ - return self._message - - @message.setter - def message(self, message): - """Sets the message of this LogEntry. - - A human-readable log message # noqa: E501 - - :param message: The message of this LogEntry. - :type message: str - """ - if message is None: - raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501 - - self._message = message diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_level.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_level.py deleted file mode 100644 index 3c819b535..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/log_level.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class LogLevel(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - ERROR = "ERROR" - WARNING = "WARNING" - INFO = "INFO" - DEBUG = "DEBUG" - def __init__(self): # noqa: E501 - """LogLevel - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'LogLevel': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The LogLevel of this LogLevel. # noqa: E501 - :rtype: LogLevel - """ - return util.deserialize_model(dikt, cls) diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/message.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/message.py deleted file mode 100644 index d0898c3ac..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/message.py +++ /dev/null @@ -1,157 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.knowledge_graph import KnowledgeGraph -from openapi_server.models.query_graph import QueryGraph -from openapi_server.models.result import Result -from openapi_server import util - -from openapi_server.models.knowledge_graph import KnowledgeGraph # noqa: E501 -from openapi_server.models.query_graph import QueryGraph # noqa: E501 -from openapi_server.models.result import Result # noqa: E501 - -class Message(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, results=None, query_graph=None, knowledge_graph=None, auxiliary_graphs=None): # noqa: E501 - """Message - a model defined in OpenAPI - - :param results: The results of this Message. # noqa: E501 - :type results: List[Result] - :param query_graph: The query_graph of this Message. # noqa: E501 - :type query_graph: QueryGraph - :param knowledge_graph: The knowledge_graph of this Message. # noqa: E501 - :type knowledge_graph: KnowledgeGraph - :param auxiliary_graphs: The auxiliary_graphs of this Message. # noqa: E501 - :type auxiliary_graphs: Dict[str, object] - """ - self.openapi_types = { - 'results': List[Result], - 'query_graph': QueryGraph, - 'knowledge_graph': KnowledgeGraph, - 'auxiliary_graphs': Dict[str, object] - } - - self.attribute_map = { - 'results': 'results', - 'query_graph': 'query_graph', - 'knowledge_graph': 'knowledge_graph', - 'auxiliary_graphs': 'auxiliary_graphs' - } - - self._results = results - self._query_graph = query_graph - self._knowledge_graph = knowledge_graph - self._auxiliary_graphs = auxiliary_graphs - - @classmethod - def from_dict(cls, dikt) -> 'Message': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Message of this Message. # noqa: E501 - :rtype: Message - """ - return util.deserialize_model(dikt, cls) - - @property - def results(self): - """Gets the results of this Message. - - List of all returned Result objects for the query posed # noqa: E501 - - :return: The results of this Message. - :rtype: List[Result] - """ - return self._results - - @results.setter - def results(self, results): - """Sets the results of this Message. - - List of all returned Result objects for the query posed # noqa: E501 - - :param results: The results of this Message. - :type results: List[Result] - """ - - self._results = results - - @property - def query_graph(self): - """Gets the query_graph of this Message. - - QueryGraph object that contains a serialization of a query in the form of a graph # noqa: E501 - - :return: The query_graph of this Message. - :rtype: QueryGraph - """ - return self._query_graph - - @query_graph.setter - def query_graph(self, query_graph): - """Sets the query_graph of this Message. - - QueryGraph object that contains a serialization of a query in the form of a graph # noqa: E501 - - :param query_graph: The query_graph of this Message. - :type query_graph: QueryGraph - """ - - self._query_graph = query_graph - - @property - def knowledge_graph(self): - """Gets the knowledge_graph of this Message. - - KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message # noqa: E501 - - :return: The knowledge_graph of this Message. - :rtype: KnowledgeGraph - """ - return self._knowledge_graph - - @knowledge_graph.setter - def knowledge_graph(self, knowledge_graph): - """Sets the knowledge_graph of this Message. - - KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message # noqa: E501 - - :param knowledge_graph: The knowledge_graph of this Message. - :type knowledge_graph: KnowledgeGraph - """ - - self._knowledge_graph = knowledge_graph - - @property - def auxiliary_graphs(self): - """Gets the auxiliary_graphs of this Message. - - Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key. # noqa: E501 - - :return: The auxiliary_graphs of this Message. - :rtype: Dict[str, object] - """ - return self._auxiliary_graphs - - @auxiliary_graphs.setter - def auxiliary_graphs(self, auxiliary_graphs): - """Sets the auxiliary_graphs of this Message. - - Dictionary of AuxiliaryGraph instances that are used by Knowledge Graph Edges and Result Analyses. These are referenced elsewhere by the dictionary key. # noqa: E501 - - :param auxiliary_graphs: The auxiliary_graphs of this Message. - :type auxiliary_graphs: Dict[str, object] - """ - - self._auxiliary_graphs = auxiliary_graphs - diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_attribute.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_attribute.py deleted file mode 100644 index 03ea9bc64..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_attribute.py +++ /dev/null @@ -1,182 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class MetaAttribute(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, attribute_type_id=None, attribute_source=None, original_attribute_names=None, constraint_use=False, constraint_name=None): # noqa: E501 - """MetaAttribute - a model defined in OpenAPI - - :param attribute_type_id: The attribute_type_id of this MetaAttribute. # noqa: E501 - :type attribute_type_id: str - :param attribute_source: The attribute_source of this MetaAttribute. # noqa: E501 - :type attribute_source: str - :param original_attribute_names: The original_attribute_names of this MetaAttribute. # noqa: E501 - :type original_attribute_names: List[str] - :param constraint_use: The constraint_use of this MetaAttribute. # noqa: E501 - :type constraint_use: bool - :param constraint_name: The constraint_name of this MetaAttribute. # noqa: E501 - :type constraint_name: str - """ - self.openapi_types = { - 'attribute_type_id': str, - 'attribute_source': str, - 'original_attribute_names': List[str], - 'constraint_use': bool, - 'constraint_name': str - } - - self.attribute_map = { - 'attribute_type_id': 'attribute_type_id', - 'attribute_source': 'attribute_source', - 'original_attribute_names': 'original_attribute_names', - 'constraint_use': 'constraint_use', - 'constraint_name': 'constraint_name' - } - - self._attribute_type_id = attribute_type_id - self._attribute_source = attribute_source - self._original_attribute_names = original_attribute_names - self._constraint_use = constraint_use - self._constraint_name = constraint_name - - @classmethod - def from_dict(cls, dikt) -> 'MetaAttribute': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The MetaAttribute of this MetaAttribute. # noqa: E501 - :rtype: MetaAttribute - """ - return util.deserialize_model(dikt, cls) - - @property - def attribute_type_id(self): - """Gets the attribute_type_id of this MetaAttribute. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The attribute_type_id of this MetaAttribute. - :rtype: str - """ - return self._attribute_type_id - - @attribute_type_id.setter - def attribute_type_id(self, attribute_type_id): - """Sets the attribute_type_id of this MetaAttribute. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param attribute_type_id: The attribute_type_id of this MetaAttribute. - :type attribute_type_id: str - """ - if attribute_type_id is None: - raise ValueError("Invalid value for `attribute_type_id`, must not be `None`") # noqa: E501 - - self._attribute_type_id = attribute_type_id - - @property - def attribute_source(self): - """Gets the attribute_source of this MetaAttribute. - - Source of an attribute provided by this TRAPI web service. # noqa: E501 - - :return: The attribute_source of this MetaAttribute. - :rtype: str - """ - return self._attribute_source - - @attribute_source.setter - def attribute_source(self, attribute_source): - """Sets the attribute_source of this MetaAttribute. - - Source of an attribute provided by this TRAPI web service. # noqa: E501 - - :param attribute_source: The attribute_source of this MetaAttribute. - :type attribute_source: str - """ - - self._attribute_source = attribute_source - - @property - def original_attribute_names(self): - """Gets the original_attribute_names of this MetaAttribute. - - Names of an the attribute as provided by the source. # noqa: E501 - - :return: The original_attribute_names of this MetaAttribute. - :rtype: List[str] - """ - return self._original_attribute_names - - @original_attribute_names.setter - def original_attribute_names(self, original_attribute_names): - """Sets the original_attribute_names of this MetaAttribute. - - Names of an the attribute as provided by the source. # noqa: E501 - - :param original_attribute_names: The original_attribute_names of this MetaAttribute. - :type original_attribute_names: List[str] - """ - if original_attribute_names is not None and len(original_attribute_names) < 1: - raise ValueError("Invalid value for `original_attribute_names`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._original_attribute_names = original_attribute_names - - @property - def constraint_use(self): - """Gets the constraint_use of this MetaAttribute. - - Indicates whether this attribute can be used as a query constraint. # noqa: E501 - - :return: The constraint_use of this MetaAttribute. - :rtype: bool - """ - return self._constraint_use - - @constraint_use.setter - def constraint_use(self, constraint_use): - """Sets the constraint_use of this MetaAttribute. - - Indicates whether this attribute can be used as a query constraint. # noqa: E501 - - :param constraint_use: The constraint_use of this MetaAttribute. - :type constraint_use: bool - """ - - self._constraint_use = constraint_use - - @property - def constraint_name(self): - """Gets the constraint_name of this MetaAttribute. - - Human-readable name or label for the constraint concept. Required whenever constraint_use is true. # noqa: E501 - - :return: The constraint_name of this MetaAttribute. - :rtype: str - """ - return self._constraint_name - - @constraint_name.setter - def constraint_name(self, constraint_name): - """Sets the constraint_name of this MetaAttribute. - - Human-readable name or label for the constraint concept. Required whenever constraint_use is true. # noqa: E501 - - :param constraint_name: The constraint_name of this MetaAttribute. - :type constraint_name: str - """ - - self._constraint_name = constraint_name diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_edge.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_edge.py deleted file mode 100644 index f8a5c3b60..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_edge.py +++ /dev/null @@ -1,256 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.meta_attribute import MetaAttribute -from openapi_server.models.meta_qualifier import MetaQualifier -import re -from openapi_server import util - -from openapi_server.models.meta_attribute import MetaAttribute # noqa: E501 -from openapi_server.models.meta_qualifier import MetaQualifier # noqa: E501 -import re # noqa: E501 - -class MetaEdge(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, subject=None, predicate=None, object=None, knowledge_types=None, attributes=None, qualifiers=None, association=None): # noqa: E501 - """MetaEdge - a model defined in OpenAPI - - :param subject: The subject of this MetaEdge. # noqa: E501 - :type subject: str - :param predicate: The predicate of this MetaEdge. # noqa: E501 - :type predicate: str - :param object: The object of this MetaEdge. # noqa: E501 - :type object: str - :param knowledge_types: The knowledge_types of this MetaEdge. # noqa: E501 - :type knowledge_types: List[str] - :param attributes: The attributes of this MetaEdge. # noqa: E501 - :type attributes: List[MetaAttribute] - :param qualifiers: The qualifiers of this MetaEdge. # noqa: E501 - :type qualifiers: List[MetaQualifier] - :param association: The association of this MetaEdge. # noqa: E501 - :type association: str - """ - self.openapi_types = { - 'subject': str, - 'predicate': str, - 'object': str, - 'knowledge_types': List[str], - 'attributes': List[MetaAttribute], - 'qualifiers': List[MetaQualifier], - 'association': str - } - - self.attribute_map = { - 'subject': 'subject', - 'predicate': 'predicate', - 'object': 'object', - 'knowledge_types': 'knowledge_types', - 'attributes': 'attributes', - 'qualifiers': 'qualifiers', - 'association': 'association' - } - - self._subject = subject - self._predicate = predicate - self._object = object - self._knowledge_types = knowledge_types - self._attributes = attributes - self._qualifiers = qualifiers - self._association = association - - @classmethod - def from_dict(cls, dikt) -> 'MetaEdge': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The MetaEdge of this MetaEdge. # noqa: E501 - :rtype: MetaEdge - """ - return util.deserialize_model(dikt, cls) - - @property - def subject(self): - """Gets the subject of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :return: The subject of this MetaEdge. - :rtype: str - """ - return self._subject - - @subject.setter - def subject(self, subject): - """Sets the subject of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :param subject: The subject of this MetaEdge. - :type subject: str - """ - if subject is None: - raise ValueError("Invalid value for `subject`, must not be `None`") # noqa: E501 - if subject is not None and not re.search(r'^biolink:[A-Z][a-zA-Z]*$', subject): # noqa: E501 - raise ValueError("Invalid value for `subject`, must be a follow pattern or equal to `/^biolink:[A-Z][a-zA-Z]*$/`") # noqa: E501 - - self._subject = subject - - @property - def predicate(self): - """Gets the predicate of this MetaEdge. - - CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge. # noqa: E501 - - :return: The predicate of this MetaEdge. - :rtype: str - """ - return self._predicate - - @predicate.setter - def predicate(self, predicate): - """Sets the predicate of this MetaEdge. - - CURIE for a Biolink 'predicate' slot, taken from the Biolink slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate defines the Biolink relationship between the subject and object nodes of a biolink:Association defining a knowledge graph edge. # noqa: E501 - - :param predicate: The predicate of this MetaEdge. - :type predicate: str - """ - if predicate is None: - raise ValueError("Invalid value for `predicate`, must not be `None`") # noqa: E501 - if predicate is not None and not re.search(r'^biolink:[a-z][a-z_]*$', predicate): # noqa: E501 - raise ValueError("Invalid value for `predicate`, must be a follow pattern or equal to `/^biolink:[a-z][a-z_]*$/`") # noqa: E501 - - self._predicate = predicate - - @property - def object(self): - """Gets the object of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :return: The object of this MetaEdge. - :rtype: str - """ - return self._object - - @object.setter - def object(self, object): - """Sets the object of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :param object: The object of this MetaEdge. - :type object: str - """ - if object is None: - raise ValueError("Invalid value for `object`, must not be `None`") # noqa: E501 - if object is not None and not re.search(r'^biolink:[A-Z][a-zA-Z]*$', object): # noqa: E501 - raise ValueError("Invalid value for `object`, must be a follow pattern or equal to `/^biolink:[A-Z][a-zA-Z]*$/`") # noqa: E501 - - self._object = object - - @property - def knowledge_types(self): - """Gets the knowledge_types of this MetaEdge. - - A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'. # noqa: E501 - - :return: The knowledge_types of this MetaEdge. - :rtype: List[str] - """ - return self._knowledge_types - - @knowledge_types.setter - def knowledge_types(self, knowledge_types): - """Sets the knowledge_types of this MetaEdge. - - A list of knowledge_types that are supported by the service. If the knowledge_types is null, this means that only 'lookup' is supported. Currently allowed values are 'lookup' or 'inferred'. # noqa: E501 - - :param knowledge_types: The knowledge_types of this MetaEdge. - :type knowledge_types: List[str] - """ - if knowledge_types is not None and len(knowledge_types) < 1: - raise ValueError("Invalid value for `knowledge_types`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._knowledge_types = knowledge_types - - @property - def attributes(self): - """Gets the attributes of this MetaEdge. - - Edge attributes provided by this TRAPI web service. # noqa: E501 - - :return: The attributes of this MetaEdge. - :rtype: List[MetaAttribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this MetaEdge. - - Edge attributes provided by this TRAPI web service. # noqa: E501 - - :param attributes: The attributes of this MetaEdge. - :type attributes: List[MetaAttribute] - """ - - self._attributes = attributes - - @property - def qualifiers(self): - """Gets the qualifiers of this MetaEdge. - - Qualifiers that are possible to be found on this edge type. # noqa: E501 - - :return: The qualifiers of this MetaEdge. - :rtype: List[MetaQualifier] - """ - return self._qualifiers - - @qualifiers.setter - def qualifiers(self, qualifiers): - """Sets the qualifiers of this MetaEdge. - - Qualifiers that are possible to be found on this edge type. # noqa: E501 - - :param qualifiers: The qualifiers of this MetaEdge. - :type qualifiers: List[MetaQualifier] - """ - - self._qualifiers = qualifiers - - @property - def association(self): - """Gets the association of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :return: The association of this MetaEdge. - :rtype: str - """ - return self._association - - @association.setter - def association(self, association): - """Sets the association of this MetaEdge. - - Compact URI (CURIE) for a Biolink class, biolink:NamedThing or a child thereof. The CURIE must use the prefix 'biolink:' followed by the PascalCase class name. # noqa: E501 - - :param association: The association of this MetaEdge. - :type association: str - """ - if association is not None and not re.search(r'^biolink:[A-Z][a-zA-Z]*$', association): # noqa: E501 - raise ValueError("Invalid value for `association`, must be a follow pattern or equal to `/^biolink:[A-Z][a-zA-Z]*$/`") # noqa: E501 - - self._association = association diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_knowledge_graph.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_knowledge_graph.py deleted file mode 100644 index 64252b9a0..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_knowledge_graph.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.meta_edge import MetaEdge -from openapi_server.models.meta_node import MetaNode -from openapi_server import util - -from openapi_server.models.meta_edge import MetaEdge # noqa: E501 -from openapi_server.models.meta_node import MetaNode # noqa: E501 - -class MetaKnowledgeGraph(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, nodes=None, edges=None): # noqa: E501 - """MetaKnowledgeGraph - a model defined in OpenAPI - - :param nodes: The nodes of this MetaKnowledgeGraph. # noqa: E501 - :type nodes: Dict[str, MetaNode] - :param edges: The edges of this MetaKnowledgeGraph. # noqa: E501 - :type edges: List[MetaEdge] - """ - self.openapi_types = { - 'nodes': Dict[str, MetaNode], - 'edges': List[MetaEdge] - } - - self.attribute_map = { - 'nodes': 'nodes', - 'edges': 'edges' - } - - self._nodes = nodes - self._edges = edges - - @classmethod - def from_dict(cls, dikt) -> 'MetaKnowledgeGraph': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The MetaKnowledgeGraph of this MetaKnowledgeGraph. # noqa: E501 - :rtype: MetaKnowledgeGraph - """ - return util.deserialize_model(dikt, cls) - - @property - def nodes(self): - """Gets the nodes of this MetaKnowledgeGraph. - - Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available. # noqa: E501 - - :return: The nodes of this MetaKnowledgeGraph. - :rtype: Dict[str, MetaNode] - """ - return self._nodes - - @nodes.setter - def nodes(self, nodes): - """Sets the nodes of this MetaKnowledgeGraph. - - Collection of the most specific node categories provided by this TRAPI web service, indexed by Biolink class CURIEs. A node category is only exposed here if there is node for which that is the most specific category available. # noqa: E501 - - :param nodes: The nodes of this MetaKnowledgeGraph. - :type nodes: Dict[str, MetaNode] - """ - if nodes is None: - raise ValueError("Invalid value for `nodes`, must not be `None`") # noqa: E501 - - self._nodes = nodes - - @property - def edges(self): - """Gets the edges of this MetaKnowledgeGraph. - - List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available. # noqa: E501 - - :return: The edges of this MetaKnowledgeGraph. - :rtype: List[MetaEdge] - """ - return self._edges - - @edges.setter - def edges(self, edges): - """Sets the edges of this MetaKnowledgeGraph. - - List of the most specific edges/predicates provided by this TRAPI web service. A predicate is only exposed here if there is an edge for which the predicate is the most specific available. # noqa: E501 - - :param edges: The edges of this MetaKnowledgeGraph. - :type edges: List[MetaEdge] - """ - if edges is None: - raise ValueError("Invalid value for `edges`, must not be `None`") # noqa: E501 - - self._edges = edges diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_node.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_node.py deleted file mode 100644 index d01e3556b..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_node.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.meta_attribute import MetaAttribute -from openapi_server import util - -from openapi_server.models.meta_attribute import MetaAttribute # noqa: E501 - -class MetaNode(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id_prefixes=None, attributes=None): # noqa: E501 - """MetaNode - a model defined in OpenAPI - - :param id_prefixes: The id_prefixes of this MetaNode. # noqa: E501 - :type id_prefixes: List[str] - :param attributes: The attributes of this MetaNode. # noqa: E501 - :type attributes: List[MetaAttribute] - """ - self.openapi_types = { - 'id_prefixes': List[str], - 'attributes': List[MetaAttribute] - } - - self.attribute_map = { - 'id_prefixes': 'id_prefixes', - 'attributes': 'attributes' - } - - self._id_prefixes = id_prefixes - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'MetaNode': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The MetaNode of this MetaNode. # noqa: E501 - :rtype: MetaNode - """ - return util.deserialize_model(dikt, cls) - - @property - def id_prefixes(self): - """Gets the id_prefixes of this MetaNode. - - List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input. # noqa: E501 - - :return: The id_prefixes of this MetaNode. - :rtype: List[str] - """ - return self._id_prefixes - - @id_prefixes.setter - def id_prefixes(self, id_prefixes): - """Sets the id_prefixes of this MetaNode. - - List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input. # noqa: E501 - - :param id_prefixes: The id_prefixes of this MetaNode. - :type id_prefixes: List[str] - """ - if id_prefixes is None: - raise ValueError("Invalid value for `id_prefixes`, must not be `None`") # noqa: E501 - if id_prefixes is not None and len(id_prefixes) < 1: - raise ValueError("Invalid value for `id_prefixes`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._id_prefixes = id_prefixes - - @property - def attributes(self): - """Gets the attributes of this MetaNode. - - Node attributes provided by this TRAPI web service. # noqa: E501 - - :return: The attributes of this MetaNode. - :rtype: List[MetaAttribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this MetaNode. - - Node attributes provided by this TRAPI web service. # noqa: E501 - - :param attributes: The attributes of this MetaNode. - :type attributes: List[MetaAttribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_qualifier.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_qualifier.py deleted file mode 100644 index 663d12701..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/meta_qualifier.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class MetaQualifier(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, qualifier_type_id=None, applicable_values=None): # noqa: E501 - """MetaQualifier - a model defined in OpenAPI - - :param qualifier_type_id: The qualifier_type_id of this MetaQualifier. # noqa: E501 - :type qualifier_type_id: str - :param applicable_values: The applicable_values of this MetaQualifier. # noqa: E501 - :type applicable_values: List[str] - """ - self.openapi_types = { - 'qualifier_type_id': str, - 'applicable_values': List[str] - } - - self.attribute_map = { - 'qualifier_type_id': 'qualifier_type_id', - 'applicable_values': 'applicable_values' - } - - self._qualifier_type_id = qualifier_type_id - self._applicable_values = applicable_values - - @classmethod - def from_dict(cls, dikt) -> 'MetaQualifier': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The MetaQualifier of this MetaQualifier. # noqa: E501 - :rtype: MetaQualifier - """ - return util.deserialize_model(dikt, cls) - - @property - def qualifier_type_id(self): - """Gets the qualifier_type_id of this MetaQualifier. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The qualifier_type_id of this MetaQualifier. - :rtype: str - """ - return self._qualifier_type_id - - @qualifier_type_id.setter - def qualifier_type_id(self, qualifier_type_id): - """Sets the qualifier_type_id of this MetaQualifier. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param qualifier_type_id: The qualifier_type_id of this MetaQualifier. - :type qualifier_type_id: str - """ - if qualifier_type_id is None: - raise ValueError("Invalid value for `qualifier_type_id`, must not be `None`") # noqa: E501 - - self._qualifier_type_id = qualifier_type_id - - @property - def applicable_values(self): - """Gets the applicable_values of this MetaQualifier. - - The list of values that are possible for this qualifier. # noqa: E501 - - :return: The applicable_values of this MetaQualifier. - :rtype: List[str] - """ - return self._applicable_values - - @applicable_values.setter - def applicable_values(self, applicable_values): - """Sets the applicable_values of this MetaQualifier. - - The list of values that are possible for this qualifier. # noqa: E501 - - :param applicable_values: The applicable_values of this MetaQualifier. - :type applicable_values: List[str] - """ - - self._applicable_values = applicable_values diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node.py deleted file mode 100644 index ec5cfc5a2..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node.py +++ /dev/null @@ -1,150 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 - -class Node(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, name=None, categories=None, attributes=None, is_set=False): # noqa: E501 - """Node - a model defined in OpenAPI - - :param name: The name of this Node. # noqa: E501 - :type name: str - :param categories: The categories of this Node. # noqa: E501 - :type categories: List[str] - :param attributes: The attributes of this Node. # noqa: E501 - :type attributes: List[Attribute] - :param is_set: The is_set of this QNode. # noqa: E501 - :type is_set: bool - """ - self.openapi_types = { - 'name': str, - 'categories': List[str], - 'attributes': List[Attribute], - 'is_set': bool - } - - self.attribute_map = { - 'name': 'name', - 'categories': 'categories', - 'attributes': 'attributes', - 'is_set': 'is_set' - } - - self._name = name - self._categories = categories - self._attributes = attributes - self._is_set = is_set - - @classmethod - def from_dict(cls, dikt) -> 'Node': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Node of this Node. # noqa: E501 - :rtype: Node - """ - return util.deserialize_model(dikt, cls) - - @property - def name(self): - """Gets the name of this Node. - - Formal name of the entity # noqa: E501 - - :return: The name of this Node. - :rtype: str - """ - return self._name - - @name.setter - def name(self, name): - """Sets the name of this Node. - - Formal name of the entity # noqa: E501 - - :param name: The name of this Node. - :type name: str - """ - - self._name = name - - @property - def categories(self): - """Gets the categories of this Node. - - - :return: The categories of this Node. - :rtype: List[str] - """ - return self._categories - - @categories.setter - def categories(self, categories): - """Sets the categories of this Node. - - - :param categories: The categories of this Node. - :type categories: List[str] - """ - - self._categories = categories - - @property - def attributes(self): - """Gets the attributes of this Node. - - A list of attributes describing the node # noqa: E501 - - :return: The attributes of this Node. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this Node. - - A list of attributes describing the node # noqa: E501 - - :param attributes: The attributes of this Node. - :type attributes: List[Attribute] - """ - - self._attributes = attributes - - @property - def is_set(self): - """Gets the is_set of this Node. - - Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.. # noqa: E501 - - :return: The is_set of this Node. - :rtype: bool - """ - return self._is_set - - @is_set.setter - def is_set(self, is_set): - """Sets the is_set of this Node. - - Indicates that the node represents a set of entities. If this property is missing or null, it is assumed to be false.. # noqa: E501 - - :param is_set: The is_set of this Node. - :type is_set: bool - """ - - self._is_set = is_set diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node_binding.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node_binding.py deleted file mode 100644 index d85f96fa3..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/node_binding.py +++ /dev/null @@ -1,126 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute import Attribute -from openapi_server import util - -from openapi_server.models.attribute import Attribute # noqa: E501 - -class NodeBinding(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, query_id=None, attributes=None): # noqa: E501 - """NodeBinding - a model defined in OpenAPI - - :param id: The id of this NodeBinding. # noqa: E501 - :type id: str - :param query_id: The query_id of this NodeBinding. # noqa: E501 - :type query_id: str - :param attributes: The attributes of this NodeBinding. # noqa: E501 - :type attributes: List[Attribute] - """ - self.openapi_types = { - 'id': str, - 'query_id': str, - 'attributes': List[Attribute] - } - - self.attribute_map = { - 'id': 'id', - 'query_id': 'query_id', - 'attributes': 'attributes' - } - - self._id = id - self._query_id = query_id - self._attributes = attributes - - @classmethod - def from_dict(cls, dikt) -> 'NodeBinding': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The NodeBinding of this NodeBinding. # noqa: E501 - :rtype: NodeBinding - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this NodeBinding. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The id of this NodeBinding. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this NodeBinding. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param id: The id of this NodeBinding. - :type id: str - """ - if id is None: - raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501 - - self._id = id - - @property - def query_id(self): - """Gets the query_id of this NodeBinding. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The query_id of this NodeBinding. - :rtype: str - """ - return self._query_id - - @query_id.setter - def query_id(self, query_id): - """Sets the query_id of this NodeBinding. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param query_id: The query_id of this NodeBinding. - :type query_id: str - """ - - self._query_id = query_id - - @property - def attributes(self): - """Gets the attributes of this NodeBinding. - - A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result. # noqa: E501 - - :return: The attributes of this NodeBinding. - :rtype: List[Attribute] - """ - return self._attributes - - @attributes.setter - def attributes(self, attributes): - """Sets the attributes of this NodeBinding. - - A list of attributes providing further information about the node binding. This is not intended for capturing node attributes and should only be used for properties that vary from result to result. # noqa: E501 - - :param attributes: The attributes of this NodeBinding. - :type attributes: List[Attribute] - """ - - self._attributes = attributes diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup.py deleted file mode 100644 index cb8345c95..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class OperationLookup(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, parameters=None): # noqa: E501 - """OperationLookup - a model defined in OpenAPI - - :param id: The id of this OperationLookup. # noqa: E501 - :type id: str - :param parameters: The parameters of this OperationLookup. # noqa: E501 - :type parameters: object - """ - self.openapi_types = { - 'id': str, - 'parameters': object - } - - self.attribute_map = { - 'id': 'id', - 'parameters': 'parameters' - } - - self._id = id - self._parameters = parameters - - @classmethod - def from_dict(cls, dikt) -> 'OperationLookup': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The OperationLookup of this OperationLookup. # noqa: E501 - :rtype: OperationLookup - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this OperationLookup. - - - :return: The id of this OperationLookup. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this OperationLookup. - - - :param id: The id of this OperationLookup. - :type id: str - """ - allowed_values = ["lookup"] # noqa: E501 - if id not in allowed_values: - raise ValueError( - "Invalid value for `id` ({0}), must be one of {1}" - .format(id, allowed_values) - ) - - self._id = id - - @property - def parameters(self): - """Gets the parameters of this OperationLookup. - - - :return: The parameters of this OperationLookup. - :rtype: object - """ - return self._parameters - - @parameters.setter - def parameters(self, parameters): - """Sets the parameters of this OperationLookup. - - - :param parameters: The parameters of this OperationLookup. - :type parameters: object - """ - - self._parameters = parameters diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup_and_score.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup_and_score.py deleted file mode 100644 index d7ebb9dee..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_lookup_and_score.py +++ /dev/null @@ -1,148 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class OperationLookupAndScore(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, parameters=None, runner_parameters=None, unique=True): # noqa: E501 - """OperationLookupAndScore - a model defined in OpenAPI - - :param id: The id of this OperationLookupAndScore. # noqa: E501 - :type id: str - :param parameters: The parameters of this OperationLookupAndScore. # noqa: E501 - :type parameters: object - :param runner_parameters: The runner_parameters of this OperationLookupAndScore. # noqa: E501 - :type runner_parameters: OneOfobjectobject - :param unique: The unique of this OperationLookupAndScore. # noqa: E501 - :type unique: bool - """ - self.openapi_types = { - 'id': str, - 'parameters': object, - 'runner_parameters': object, - 'unique': bool - } - - self.attribute_map = { - 'id': 'id', - 'parameters': 'parameters', - 'runner_parameters': 'runner_parameters', - 'unique': 'unique' - } - - self._id = id - self._parameters = parameters - self._runner_parameters = runner_parameters - self._unique = unique - - @classmethod - def from_dict(cls, dikt) -> 'OperationLookupAndScore': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The OperationLookupAndScore of this OperationLookupAndScore. # noqa: E501 - :rtype: OperationLookupAndScore - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this OperationLookupAndScore. - - - :return: The id of this OperationLookupAndScore. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this OperationLookupAndScore. - - - :param id: The id of this OperationLookupAndScore. - :type id: str - """ - allowed_values = ["lookup_and_score"] # noqa: E501 - if id not in allowed_values: - raise ValueError( - "Invalid value for `id` ({0}), must be one of {1}" - .format(id, allowed_values) - ) - - self._id = id - - @property - def parameters(self): - """Gets the parameters of this OperationLookupAndScore. - - - :return: The parameters of this OperationLookupAndScore. - :rtype: object - """ - return self._parameters - - @parameters.setter - def parameters(self, parameters): - """Sets the parameters of this OperationLookupAndScore. - - - :param parameters: The parameters of this OperationLookupAndScore. - :type parameters: object - """ - - self._parameters = parameters - - @property - def runner_parameters(self): - """Gets the runner_parameters of this OperationLookupAndScore. - - - :return: The runner_parameters of this OperationLookupAndScore. - :rtype: OneOfobjectobject - """ - return self._runner_parameters - - @runner_parameters.setter - def runner_parameters(self, runner_parameters): - """Sets the runner_parameters of this OperationLookupAndScore. - - - :param runner_parameters: The runner_parameters of this OperationLookupAndScore. - :type runner_parameters: OneOfobjectobject - """ - - self._runner_parameters = runner_parameters - - @property - def unique(self): - """Gets the unique of this OperationLookupAndScore. - - - :return: The unique of this OperationLookupAndScore. - :rtype: bool - """ - return self._unique - - @unique.setter - def unique(self, unique): - """Sets the unique of this OperationLookupAndScore. - - - :param unique: The unique of this OperationLookupAndScore. - :type unique: bool - """ - - self._unique = unique diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_overlay.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_overlay.py deleted file mode 100644 index 75c6d2e88..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operation_overlay.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class OperationOverlay(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, id=None, parameters=None): # noqa: E501 - """OperationOverlay - a model defined in OpenAPI - - :param id: The id of this OperationOverlay. # noqa: E501 - :type id: str - :param parameters: The parameters of this OperationOverlay. # noqa: E501 - :type parameters: object - """ - self.openapi_types = { - 'id': str, - 'parameters': object - } - - self.attribute_map = { - 'id': 'id', - 'parameters': 'parameters' - } - - self._id = id - self._parameters = parameters - - @classmethod - def from_dict(cls, dikt) -> 'OperationOverlay': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The OperationOverlay of this OperationOverlay. # noqa: E501 - :rtype: OperationOverlay - """ - return util.deserialize_model(dikt, cls) - - @property - def id(self): - """Gets the id of this OperationOverlay. - - - :return: The id of this OperationOverlay. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this OperationOverlay. - - - :param id: The id of this OperationOverlay. - :type id: str - """ - allowed_values = ["overlay"] # noqa: E501 - if id not in allowed_values: - raise ValueError( - "Invalid value for `id` ({0}), must be one of {1}" - .format(id, allowed_values) - ) - - self._id = id - - @property - def parameters(self): - """Gets the parameters of this OperationOverlay. - - - :return: The parameters of this OperationOverlay. - :rtype: object - """ - return self._parameters - - @parameters.setter - def parameters(self, parameters): - """Sets the parameters of this OperationOverlay. - - - :param parameters: The parameters of this OperationOverlay. - :type parameters: object - """ - - self._parameters = parameters diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operations.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operations.py deleted file mode 100644 index 9871f0aa1..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/operations.py +++ /dev/null @@ -1,152 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.message import Message -from openapi_server import util - -from openapi_server.models.message import Message # noqa: E501 - -class Operations(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, message_uris=None, messages=None, actions=None, options=None): # noqa: E501 - """Operations - a model defined in OpenAPI - - :param message_uris: The message_uris of this Operations. # noqa: E501 - :type message_uris: List[str] - :param messages: The messages of this Operations. # noqa: E501 - :type messages: List[Message] - :param actions: The actions of this Operations. # noqa: E501 - :type actions: List[str] - :param options: The options of this Operations. # noqa: E501 - :type options: Dict[str, object] - """ - self.openapi_types = { - 'message_uris': List[str], - 'messages': List[Message], - 'actions': List[str], - 'options': Dict[str, object] - } - - self.attribute_map = { - 'message_uris': 'message_uris', - 'messages': 'messages', - 'actions': 'actions', - 'options': 'options' - } - - self._message_uris = message_uris - self._messages = messages - self._actions = actions - self._options = options - - @classmethod - def from_dict(cls, dikt) -> 'Operations': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Operations of this Operations. # noqa: E501 - :rtype: Operations - """ - return util.deserialize_model(dikt, cls) - - @property - def message_uris(self): - """Gets the message_uris of this Operations. - - List of URIs for Message or Response objects to fetch and process # noqa: E501 - - :return: The message_uris of this Operations. - :rtype: List[str] - """ - return self._message_uris - - @message_uris.setter - def message_uris(self, message_uris): - """Sets the message_uris of this Operations. - - List of URIs for Message or Response objects to fetch and process # noqa: E501 - - :param message_uris: The message_uris of this Operations. - :type message_uris: List[str] - """ - - self._message_uris = message_uris - - @property - def messages(self): - """Gets the messages of this Operations. - - List of Message objects to process # noqa: E501 - - :return: The messages of this Operations. - :rtype: List[Message] - """ - return self._messages - - @messages.setter - def messages(self, messages): - """Sets the messages of this Operations. - - List of Message objects to process # noqa: E501 - - :param messages: The messages of this Operations. - :type messages: List[Message] - """ - - self._messages = messages - - @property - def actions(self): - """Gets the actions of this Operations. - - List of order-dependent operations to execute # noqa: E501 - - :return: The actions of this Operations. - :rtype: List[str] - """ - return self._actions - - @actions.setter - def actions(self, actions): - """Sets the actions of this Operations. - - List of order-dependent operations to execute # noqa: E501 - - :param actions: The actions of this Operations. - :type actions: List[str] - """ - - self._actions = actions - - @property - def options(self): - """Gets the options of this Operations. - - Map of order independent options that apply during processing # noqa: E501 - - :return: The options of this Operations. - :rtype: Dict[str, object] - """ - return self._options - - @options.setter - def options(self, options): - """Sets the options of this Operations. - - Map of order independent options that apply during processing # noqa: E501 - - :param options: The options of this Operations. - :type options: Dict[str, object] - """ - - self._options = options diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_edge.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_edge.py deleted file mode 100644 index 2c769606d..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_edge.py +++ /dev/null @@ -1,270 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute_constraint import AttributeConstraint -from openapi_server.models.qualifier_constraint import QualifierConstraint -from openapi_server import util - -from openapi_server.models.attribute_constraint import AttributeConstraint # noqa: E501 -from openapi_server.models.qualifier_constraint import QualifierConstraint # noqa: E501 - -class QEdge(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, knowledge_type=None, predicates=None, subject=None, object=None, attribute_constraints=[], qualifier_constraints=[], exclude=None, option_group_id=None): # noqa: E501 - """QEdge - a model defined in OpenAPI - - :param knowledge_type: The knowledge_type of this QEdge. # noqa: E501 - :type knowledge_type: str - :param predicates: The predicates of this QEdge. # noqa: E501 - :type predicates: List[str] - :param subject: The subject of this QEdge. # noqa: E501 - :type subject: str - :param object: The object of this QEdge. # noqa: E501 - :type object: str - :param attribute_constraints: The attribute_constraints of this QEdge. # noqa: E501 - :type attribute_constraints: List[AttributeConstraint] - :param qualifier_constraints: The qualifier_constraints of this QEdge. # noqa: E501 - :type qualifier_constraints: List[QualifierConstraint] - :param exclude: The exclude of this QEdge. # noqa: E501 - :type exclude: bool - :param option_group_id: The option_group_id of this QEdge. # noqa: E501 - :type option_group_id: str - """ - self.openapi_types = { - 'knowledge_type': str, - 'predicates': List[str], - 'subject': str, - 'object': str, - 'attribute_constraints': List[AttributeConstraint], - 'qualifier_constraints': List[QualifierConstraint], - 'exclude': bool, - 'option_group_id': str - } - - self.attribute_map = { - 'knowledge_type': 'knowledge_type', - 'predicates': 'predicates', - 'subject': 'subject', - 'object': 'object', - 'attribute_constraints': 'attribute_constraints', - 'qualifier_constraints': 'qualifier_constraints', - 'exclude': 'exclude', - 'option_group_id': 'option_group_id' - } - - self._knowledge_type = knowledge_type - self._predicates = predicates - self._subject = subject - self._object = object - self._attribute_constraints = attribute_constraints - self._qualifier_constraints = qualifier_constraints - self._exclude = exclude - self._option_group_id = option_group_id - - @classmethod - def from_dict(cls, dikt) -> 'QEdge': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The QEdge of this QEdge. # noqa: E501 - :rtype: QEdge - """ - return util.deserialize_model(dikt, cls) - - @property - def knowledge_type(self): - """Gets the knowledge_type of this QEdge. - - Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future. # noqa: E501 - - :return: The knowledge_type of this QEdge. - :rtype: str - """ - return self._knowledge_type - - @knowledge_type.setter - def knowledge_type(self, knowledge_type): - """Sets the knowledge_type of this QEdge. - - Indicates the type of knowledge that the client wants from the server between the subject and object. If the value is 'lookup', then the client wants direct lookup information from knowledge sources. If the value is 'inferred', then the client wants the server to get creative and connect the subject and object in more speculative and non-direct-lookup ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. This feature is currently experimental and may be further extended in the future. # noqa: E501 - - :param knowledge_type: The knowledge_type of this QEdge. - :type knowledge_type: str - """ - - self._knowledge_type = knowledge_type - - @property - def predicates(self): - """Gets the predicates of this QEdge. - - - :return: The predicates of this QEdge. - :rtype: List[str] - """ - return self._predicates - - @predicates.setter - def predicates(self, predicates): - """Sets the predicates of this QEdge. - - - :param predicates: The predicates of this QEdge. - :type predicates: List[str] - """ - if predicates is not None and len(predicates) < 1: - raise ValueError("Invalid value for `predicates`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._predicates = predicates - - @property - def subject(self): - """Gets the subject of this QEdge. - - Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge. # noqa: E501 - - :return: The subject of this QEdge. - :rtype: str - """ - return self._subject - - @subject.setter - def subject(self, subject): - """Sets the subject of this QEdge. - - Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge. # noqa: E501 - - :param subject: The subject of this QEdge. - :type subject: str - """ - if subject is None: - raise ValueError("Invalid value for `subject`, must not be `None`") # noqa: E501 - - self._subject = subject - - @property - def object(self): - """Gets the object of this QEdge. - - Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge. # noqa: E501 - - :return: The object of this QEdge. - :rtype: str - """ - return self._object - - @object.setter - def object(self, object): - """Sets the object of this QEdge. - - Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge. # noqa: E501 - - :param object: The object of this QEdge. - :type object: str - """ - if object is None: - raise ValueError("Invalid value for `object`, must not be `None`") # noqa: E501 - - self._object = object - - @property - def attribute_constraints(self): - """Gets the attribute_constraints of this QEdge. - - A list of attribute contraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND) # noqa: E501 - - :return: The attribute_constraints of this QEdge. - :rtype: List[AttributeConstraint] - """ - return self._attribute_constraints - - @attribute_constraints.setter - def attribute_constraints(self, attribute_constraints): - """Sets the attribute_constraints of this QEdge. - - A list of attribute contraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND) # noqa: E501 - - :param attribute_constraints: The attribute_constraints of this QEdge. - :type attribute_constraints: List[AttributeConstraint] - """ - - self._attribute_constraints = attribute_constraints - - @property - def qualifier_constraints(self): - """Gets the qualifier_constraints of this QEdge. - - A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time. # noqa: E501 - - :return: The qualifier_constraints of this QEdge. - :rtype: List[QualifierConstraint] - """ - return self._qualifier_constraints - - @qualifier_constraints.setter - def qualifier_constraints(self, qualifier_constraints): - """Sets the qualifier_constraints of this QEdge. - - A list of QualifierConstraints that provide nuance to the QEdge. If multiple QualifierConstraints are provided, there is an OR relationship between them. If the QEdge has multiple predicates or if the QNodes that correspond to the subject or object of this QEdge have multiple categories or multiple curies, then qualifier_constraints MUST NOT be specified because these complex use cases are not supported at this time. # noqa: E501 - - :param qualifier_constraints: The qualifier_constraints of this QEdge. - :type qualifier_constraints: List[QualifierConstraint] - """ - - self._qualifier_constraints = qualifier_constraints - - @property - def exclude(self): - """Gets the exclude of this QEdge. - - If set to true, then all subgraphs containing this edge are excluded from the final results. (optional) # noqa: E501 - - :return: The exclude of this QEdge. - :rtype: bool - """ - return self._exclude - - @exclude.setter - def exclude(self, exclude): - """Sets the exclude of this QEdge. - - If set to true, then all subgraphs containing this edge are excluded from the final results. (optional) # noqa: E501 - - :param exclude: The exclude of this QEdge. - :type exclude: bool - """ - - self._exclude = exclude - - @property - def option_group_id(self): - """Gets the option_group_id of this QEdge. - - Optional string acting as a label on a set of nodes and/or edges indicating that they belong to a group that are to be evaluated as a group. # noqa: E501 - - :return: The option_group_id of this QEdge. - :rtype: str - """ - return self._option_group_id - - @option_group_id.setter - def option_group_id(self, option_group_id): - """Sets the option_group_id of this QEdge. - - Optional string acting as a label on a set of nodes and/or edges indicating that they belong to a group that are to be evaluated as a group. # noqa: E501 - - :param option_group_id: The option_group_id of this QEdge. - :type option_group_id: str - """ - - self._option_group_id = option_group_id diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_node.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_node.py deleted file mode 100644 index 6a8055f78..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/q_node.py +++ /dev/null @@ -1,238 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.attribute_constraint import AttributeConstraint -from openapi_server import util - -from openapi_server.models.attribute_constraint import AttributeConstraint # noqa: E501 - -class QNode(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, ids=None, categories=None, is_set=False, set_interpretation='BATCH', set_id=None, constraints=[], option_group_id=None): # noqa: E501 - """QNode - a model defined in OpenAPI - - :param ids: The ids of this QNode. # noqa: E501 - :type ids: List[str] - :param categories: The categories of this QNode. # noqa: E501 - :type categories: List[str] - :param is_set: The is_set of this QNode. # noqa: E501 - :type is_set: bool - :param set_interpretation: The set_interpretation of this QNode. # noqa: E501 - :type set_interpretation: str - :param set_id: The set_id of this QNode. # noqa: E501 - :type set_id: str - :param constraints: The constraints of this QNode. # noqa: E501 - :type constraints: List[AttributeConstraint] - :param option_group_id: The option_group_id of this QNode. # noqa: E501 - :type option_group_id: str - """ - self.openapi_types = { - 'ids': List[str], - 'categories': List[str], - 'is_set': bool, - 'set_interpretation': str, - 'set_id': str, - 'constraints': List[AttributeConstraint], - 'option_group_id': str - } - - self.attribute_map = { - 'ids': 'ids', - 'categories': 'categories', - 'is_set': 'is_set', - 'set_interpretation': 'set_interpretation', - 'set_id': 'set_id', - 'constraints': 'constraints', - 'option_group_id': 'option_group_id' - } - - self._ids = ids - self._categories = categories - self._is_set = is_set - self._set_interpretation = set_interpretation - self._set_id = set_id - self._constraints = constraints - self._option_group_id = option_group_id - - @classmethod - def from_dict(cls, dikt) -> 'QNode': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The QNode of this QNode. # noqa: E501 - :rtype: QNode - """ - return util.deserialize_model(dikt, cls) - - @property - def ids(self): - """Gets the ids of this QNode. - - CURIE identifier for this node # noqa: E501 - - :return: The ids of this QNode. - :rtype: List[str] - """ - return self._ids - - @ids.setter - def ids(self, ids): - """Sets the ids of this QNode. - - CURIE identifier for this node # noqa: E501 - - :param ids: The ids of this QNode. - :type ids: List[str] - """ - if ids is not None and len(ids) < 1: - raise ValueError("Invalid value for `ids`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._ids = ids - - @property - def categories(self): - """Gets the categories of this QNode. - - - :return: The categories of this QNode. - :rtype: List[str] - """ - return self._categories - - @categories.setter - def categories(self, categories): - """Sets the categories of this QNode. - - - :param categories: The categories of this QNode. - :type categories: List[str] - """ - if categories is not None and len(categories) < 1: - raise ValueError("Invalid value for `categories`, number of items must be greater than or equal to `1`") # noqa: E501 - - self._categories = categories - - @property - def is_set(self): - """Gets the is_set of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :return: The is_set of this QNode. - :rtype: bool - """ - return self._is_set - - @is_set.setter - def is_set(self, is_set): - """Sets the is_set of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :param is_set: The is_set of this QNode. - :type is_set: bool - """ - - self._is_set = is_set - - @property - def set_interpretation(self): - """Gets the set_interpretation of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :return: The set_interpretation of this QNode. - :rtype: str - """ - return self._set_interpretation - - @set_interpretation.setter - def set_interpretation(self, set_interpretation): - """Sets the set_interpretation of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :param set_interpretation: The set_interpretation of this QNode. - :type set_interpretation: str - """ - - self._set_interpretation = set_interpretation - - @property - def set_id(self): - """Gets the set_id of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :return: The set_id of this QNode. - :rtype: str - """ - return self._set_id - - @set_id.setter - def set_id(self, set_id): - """Sets the set_id of this QNode. - - Boolean that if set to true, indicates that this QNode MAY have multiple KnowledgeGraph Nodes bound to it within each Result. The nodes in a set should be considered as a set of independent nodes, rather than a set of dependent nodes, i.e., the answer would still be valid if the nodes in the set were instead returned individually. Multiple QNodes may have is_set=True. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=False, each n1 must be connected to n2. If a QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, each n1 must be connected to at least one n2. # noqa: E501 - - :param set_id: The set_id of this QNode. - :type set_id: str - """ - - self._set_id = set_id - - @property - def constraints(self): - """Gets the constraints of this QNode. - - A list of contraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND) # noqa: E501 - - :return: The constraints of this QNode. - :rtype: List[AttributeConstraint] - """ - return self._constraints - - @constraints.setter - def constraints(self, constraints): - """Sets the constraints of this QNode. - - A list of contraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND) # noqa: E501 - - :param constraints: The constraints of this QNode. - :type constraints: List[AttributeConstraint] - """ - - self._constraints = constraints - - @property - def option_group_id(self): - """Gets the option_group_id of this QNode. - - Optional string acting as a label on a set of nodes and/or edges indicating that they belong to a group that are to be evaluated as a group. # noqa: E501 - - :return: The option_group_id of this QNode. - :rtype: str - """ - return self._option_group_id - - @option_group_id.setter - def option_group_id(self, option_group_id): - """Sets the option_group_id of this QNode. - - Optional string acting as a label on a set of nodes and/or edges indicating that they belong to a group that are to be evaluated as a group. # noqa: E501 - - :param option_group_id: The option_group_id of this QNode. - :type option_group_id: str - """ - - self._option_group_id = option_group_id diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier.py deleted file mode 100644 index 433478b24..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class Qualifier(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, qualifier_type_id=None, qualifier_value=None): # noqa: E501 - """Qualifier - a model defined in OpenAPI - - :param qualifier_type_id: The qualifier_type_id of this Qualifier. # noqa: E501 - :type qualifier_type_id: str - :param qualifier_value: The qualifier_value of this Qualifier. # noqa: E501 - :type qualifier_value: str - """ - self.openapi_types = { - 'qualifier_type_id': str, - 'qualifier_value': str - } - - self.attribute_map = { - 'qualifier_type_id': 'qualifier_type_id', - 'qualifier_value': 'qualifier_value' - } - - self._qualifier_type_id = qualifier_type_id - self._qualifier_value = qualifier_value - - @classmethod - def from_dict(cls, dikt) -> 'Qualifier': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Qualifier of this Qualifier. # noqa: E501 - :rtype: Qualifier - """ - return util.deserialize_model(dikt, cls) - - @property - def qualifier_type_id(self): - """Gets the qualifier_type_id of this Qualifier. - - The category of the qualifier, drawn from a hierarchy of qualifier slots in the Biolink model (e.g. subject_aspect, subject_direction, object_aspect, object_direction, etc). # noqa: E501 - - :return: The qualifier_type_id of this Qualifier. - :rtype: str - """ - return self._qualifier_type_id - - @qualifier_type_id.setter - def qualifier_type_id(self, qualifier_type_id): - """Sets the qualifier_type_id of this Qualifier. - - The category of the qualifier, drawn from a hierarchy of qualifier slots in the Biolink model (e.g. subject_aspect, subject_direction, object_aspect, object_direction, etc). # noqa: E501 - - :param qualifier_type_id: The qualifier_type_id of this Qualifier. - :type qualifier_type_id: str - """ - if qualifier_type_id is None: - raise ValueError("Invalid value for `qualifier_type_id`, must not be `None`") # noqa: E501 - - self._qualifier_type_id = qualifier_type_id - - @property - def qualifier_value(self): - """Gets the qualifier_value of this Qualifier. - - The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'subject_aspect', etc). # noqa: E501 - - :return: The qualifier_value of this Qualifier. - :rtype: str - """ - return self._qualifier_value - - @qualifier_value.setter - def qualifier_value(self, qualifier_value): - """Sets the qualifier_value of this Qualifier. - - The value associated with the type of the qualifier, drawn from a set of controlled values by the type as specified in the Biolink model (e.g. 'expression' or 'abundance' for the qualifier type 'subject_aspect', etc). # noqa: E501 - - :param qualifier_value: The qualifier_value of this Qualifier. - :type qualifier_value: str - """ - if qualifier_value is None: - raise ValueError("Invalid value for `qualifier_value`, must not be `None`") # noqa: E501 - - self._qualifier_value = qualifier_value diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier_constraint.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier_constraint.py deleted file mode 100644 index 59b3cdf1a..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/qualifier_constraint.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.qualifier import Qualifier -from openapi_server import util - -from openapi_server.models.qualifier import Qualifier # noqa: E501 - -class QualifierConstraint(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, qualifier_set=None): # noqa: E501 - """QualifierConstraint - a model defined in OpenAPI - - :param qualifier_set: The qualifier_set of this QualifierConstraint. # noqa: E501 - :type qualifier_set: List[Qualifier] - """ - self.openapi_types = { - 'qualifier_set': List[Qualifier] - } - - self.attribute_map = { - 'qualifier_set': 'qualifier_set' - } - - self._qualifier_set = qualifier_set - - @classmethod - def from_dict(cls, dikt) -> 'QualifierConstraint': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The QualifierConstraint of this QualifierConstraint. # noqa: E501 - :rtype: QualifierConstraint - """ - return util.deserialize_model(dikt, cls) - - @property - def qualifier_set(self): - """Gets the qualifier_set of this QualifierConstraint. - - A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges. # noqa: E501 - - :return: The qualifier_set of this QualifierConstraint. - :rtype: List[Qualifier] - """ - return self._qualifier_set - - @qualifier_set.setter - def qualifier_set(self, qualifier_set): - """Sets the qualifier_set of this QualifierConstraint. - - A set of Qualifiers that serves to add nuance to a query, by constraining allowed values held by Qualifiers on queried Edges. # noqa: E501 - - :param qualifier_set: The qualifier_set of this QualifierConstraint. - :type qualifier_set: List[Qualifier] - """ - if qualifier_set is None: - raise ValueError("Invalid value for `qualifier_set`, must not be `None`") # noqa: E501 - - self._qualifier_set = qualifier_set diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query.py deleted file mode 100644 index 3415463d4..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query.py +++ /dev/null @@ -1,382 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.log_level import LogLevel -from openapi_server.models.message import Message -from openapi_server.models.any_type import AnyType -from openapi_server.models.operations import Operations -from openapi_server import util - -from openapi_server.models.log_level import LogLevel # noqa: E501 -from openapi_server.models.message import Message # noqa: E501 -from openapi_server.models.any_type import AnyType # noqa: E501 -from openapi_server.models.operations import Operations # noqa: E501 - -class Query(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, message=None, log_level=None, workflow=None, submitter=None, bypass_cache=False, stream_progress=False, enforce_edge_directionality=False, return_minimal_metadata=False, max_results=100, page_size=100, page_number=1, operations=None): # noqa: E501 - """Query - a model defined in OpenAPI - - :param message: The message of this Query. # noqa: E501 - :type message: Message - :param log_level: The log_level of this Query. # noqa: E501 - :type log_level: LogLevel - :param workflow: The workflow of this Query. # noqa: E501 - :type workflow: List[AnyType] - :param submitter: The submitter of this Query. # noqa: E501 - :type submitter: str - :param bypass_cache: The bypass_cache of this Query. # noqa: E501 - :type bypass_cache: bool - :param stream_progress: The stream_progress of this Query. # noqa: E501 - :type stream_progress: bool - :param enforce_edge_directionality: The enforce_edge_directionality of this Query. # noqa: E501 - :type enforce_edge_directionality: bool - :param return_minimal_metadata: The return_minimal_metadata of this Query. # noqa: E501 - :type return_minimal_metadata: bool - :param max_results: The max_results of this Query. # noqa: E501 - :type max_results: int - :param page_size: The page_size of this Query. # noqa: E501 - :type page_size: int - :param page_number: The page_number of this Query. # noqa: E501 - :type page_number: int - :param operations: The operations of this Query. # noqa: E501 - :type operations: Operations - """ - self.openapi_types = { - 'message': Message, - 'log_level': LogLevel, - 'workflow': List[AnyType], - 'submitter': str, - 'bypass_cache': bool, - 'stream_progress': bool, - 'enforce_edge_directionality': bool, - 'return_minimal_metadata': bool, - 'max_results': int, - 'page_size': int, - 'page_number': int, - 'operations': Operations - } - - self.attribute_map = { - 'message': 'message', - 'log_level': 'log_level', - 'workflow': 'workflow', - 'submitter': 'submitter', - 'bypass_cache': 'bypass_cache', - 'stream_progress': 'stream_progress', - 'enforce_edge_directionality': 'enforce_edge_directionality', - 'return_minimal_metadata': 'return_minimal_metadata', - 'max_results': 'max_results', - 'page_size': 'page_size', - 'page_number': 'page_number', - 'operations': 'operations' - } - - self._message = message - self._log_level = log_level - self._workflow = workflow - self._submitter = submitter - self._bypass_cache = bypass_cache - self._stream_progress = stream_progress - self._enforce_edge_directionality = enforce_edge_directionality - self._return_minimal_metadata = return_minimal_metadata - self._max_results = max_results - self._page_size = page_size - self._page_number = page_number - self._operations = operations - - @classmethod - def from_dict(cls, dikt) -> 'Query': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Query of this Query. # noqa: E501 - :rtype: Query - """ - return util.deserialize_model(dikt, cls) - - @property - def message(self): - """Gets the message of this Query. - - - :return: The message of this Query. - :rtype: Message - """ - return self._message - - @message.setter - def message(self, message): - """Sets the message of this Query. - - - :param message: The message of this Query. - :type message: Message - """ - if message is None: - raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501 - - self._message = message - - @property - def log_level(self): - """Gets the log_level of this Query. - - The least critical level of logs to return # noqa: E501 - - :return: The log_level of this Query. - :rtype: LogLevel - """ - return self._log_level - - @log_level.setter - def log_level(self, log_level): - """Sets the log_level of this Query. - - The least critical level of logs to return # noqa: E501 - - :param log_level: The log_level of this Query. - :type log_level: LogLevel - """ - - self._log_level = log_level - - @property - def workflow(self): - """Gets the workflow of this Query. - - List of workflow steps to be executed. # noqa: E501 - - :return: The workflow of this Query. - :rtype: List[AnyType] - """ - return self._workflow - - @workflow.setter - def workflow(self, workflow): - """Sets the workflow of this Query. - - List of workflow steps to be executed. # noqa: E501 - - :param workflow: The workflow of this Query. - :type workflow: List[AnyType] - """ - - self._workflow = workflow - - @property - def submitter(self): - """Gets the submitter of this Query. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :return: The submitter of this Query. - :rtype: str - """ - return self._submitter - - @submitter.setter - def submitter(self, submitter): - """Sets the submitter of this Query. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :param submitter: The submitter of this Query. - :type submitter: str - """ - - self._submitter = submitter - - @property - def bypass_cache(self): - """Gets the bypass_cache of this Query. - - Set to true in order to bypass any possible cached response and try to answer the query from scratch # noqa: E501 - - :return: The bypass_cache of this Query. - :rtype: bool - """ - return self._bypass_cache - - @bypass_cache.setter - def bypass_cache(self, bypass_cache): - """Sets the bypass_cache of this Query. - - Set to true in order to bypass any possible cached response and try to answer the query from scratch # noqa: E501 - - :param bypass_cache: The bypass_cache of this Query. - :type bypass_cache: bool - """ - - self._bypass_cache = bypass_cache - - @property - def stream_progress(self): - """Gets the stream_progress of this Query. - - Set to true in order to receive a stream of LogEntry objects as the query is progressing # noqa: E501 - - :return: The stream_progress of this Query. - :rtype: bool - """ - return self._stream_progress - - @stream_progress.setter - def stream_progress(self, stream_progress): - """Sets the stream_progress of this Query. - - Set to true in order to receive a stream of LogEntry objects as the query is progressing # noqa: E501 - - :param stream_progress: The stream_progress of this Query. - :type stream_progress: bool - """ - - self._stream_progress = stream_progress - - @property - def enforce_edge_directionality(self): - """Gets the enforce_edge_directionality of this Query. - - Set to true in order to enforce edge directionality during queries. By default, edge directionality can be reversed without penalty. # noqa: E501 - - :return: The enforce_edge_directionality of this Query. - :rtype: bool - """ - return self._enforce_edge_directionality - - @enforce_edge_directionality.setter - def enforce_edge_directionality(self, enforce_edge_directionality): - """Sets the enforce_edge_directionality of this Query. - - Set to true in order to enforce edge directionality during queries. By default, edge directionality can be reversed without penalty. # noqa: E501 - - :param enforce_edge_directionality: The enforce_edge_directionality of this Query. - :type enforce_edge_directionality: bool - """ - - self._enforce_edge_directionality = enforce_edge_directionality - - @property - def return_minimal_metadata(self): - """Gets the return_minimal_metadata of this Query. - - Set to true in order to return only the most minimal metadata. By default, rich metadata for nodes and edges are supplied, which may cause a very large and slower Response. # noqa: E501 - - :return: The return_minimal_metadata of this Query. - :rtype: bool - """ - return self._return_minimal_metadata - - @return_minimal_metadata.setter - def return_minimal_metadata(self, return_minimal_metadata): - """Sets the return_minimal_metadata of this Query. - - Set to true in order to return only the most minimal metadata. By default, rich metadata for nodes and edges are supplied, which may cause a very large and slower Response. # noqa: E501 - - :param return_minimal_metadata: The return_minimal_metadata of this Query. - :type return_minimal_metadata: bool - """ - - self._return_minimal_metadata = return_minimal_metadata - - @property - def max_results(self): - """Gets the max_results of this Query. - - Maximum number of individual results to return # noqa: E501 - - :return: The max_results of this Query. - :rtype: int - """ - return self._max_results - - @max_results.setter - def max_results(self, max_results): - """Sets the max_results of this Query. - - Maximum number of individual results to return # noqa: E501 - - :param max_results: The max_results of this Query. - :type max_results: int - """ - - self._max_results = max_results - - @property - def page_size(self): - """Gets the page_size of this Query. - - Split the results into pages with this number of results each # noqa: E501 - - :return: The page_size of this Query. - :rtype: int - """ - return self._page_size - - @page_size.setter - def page_size(self, page_size): - """Sets the page_size of this Query. - - Split the results into pages with this number of results each # noqa: E501 - - :param page_size: The page_size of this Query. - :type page_size: int - """ - - self._page_size = page_size - - @property - def page_number(self): - """Gets the page_number of this Query. - - Page number of results when the number of results exceeds the page_size, with page 1 as the first page # noqa: E501 - - :return: The page_number of this Query. - :rtype: int - """ - return self._page_number - - @page_number.setter - def page_number(self, page_number): - """Sets the page_number of this Query. - - Page number of results when the number of results exceeds the page_size, with page 1 as the first page # noqa: E501 - - :param page_number: The page_number of this Query. - :type page_number: int - """ - - self._page_number = page_number - - @property - def operations(self): - """Gets the operations of this Query. - - Container for one or more Message objects or identifiers for one or more Messages along with a processing plan and options for how those messages should be processed and returned # noqa: E501 - - :return: The operations of this Query. - :rtype: Operations - """ - return self._operations - - @operations.setter - def operations(self, operations): - """Sets the operations of this Query. - - Container for one or more Message objects or identifiers for one or more Messages along with a processing plan and options for how those messages should be processed and returned # noqa: E501 - - :param operations: The operations of this Query. - :type operations: Operations - """ - - self._operations = operations diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query_graph.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query_graph.py deleted file mode 100644 index 6f96647f6..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/query_graph.py +++ /dev/null @@ -1,102 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.q_edge import QEdge -from openapi_server.models.q_node import QNode -from openapi_server import util - -from openapi_server.models.q_edge import QEdge # noqa: E501 -from openapi_server.models.q_node import QNode # noqa: E501 - -class QueryGraph(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, nodes=None, edges=None): # noqa: E501 - """QueryGraph - a model defined in OpenAPI - - :param nodes: The nodes of this QueryGraph. # noqa: E501 - :type nodes: Dict[str, QNode] - :param edges: The edges of this QueryGraph. # noqa: E501 - :type edges: Dict[str, QEdge] - """ - self.openapi_types = { - 'nodes': Dict[str, QNode], - 'edges': Dict[str, QEdge] - } - - self.attribute_map = { - 'nodes': 'nodes', - 'edges': 'edges' - } - - self._nodes = nodes - self._edges = edges - - @classmethod - def from_dict(cls, dikt) -> 'QueryGraph': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The QueryGraph of this QueryGraph. # noqa: E501 - :rtype: QueryGraph - """ - return util.deserialize_model(dikt, cls) - - @property - def nodes(self): - """Gets the nodes of this QueryGraph. - - The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes. # noqa: E501 - - :return: The nodes of this QueryGraph. - :rtype: Dict[str, QNode] - """ - return self._nodes - - @nodes.setter - def nodes(self, nodes): - """Sets the nodes of this QueryGraph. - - The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes. # noqa: E501 - - :param nodes: The nodes of this QueryGraph. - :type nodes: Dict[str, QNode] - """ - if nodes is None: - raise ValueError("Invalid value for `nodes`, must not be `None`") # noqa: E501 - - self._nodes = nodes - - @property - def edges(self): - """Gets the edges of this QueryGraph. - - The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes. # noqa: E501 - - :return: The edges of this QueryGraph. - :rtype: Dict[str, QEdge] - """ - return self._edges - - @edges.setter - def edges(self, edges): - """Sets the edges of this QueryGraph. - - The edge specifications. The keys of this map are unique edge identifiers and the corresponding values include the constraints on bound edges, in addition to specifying the subject and object QNodes. # noqa: E501 - - :param edges: The edges of this QueryGraph. - :type edges: Dict[str, QEdge] - """ - if edges is None: - raise ValueError("Invalid value for `edges`, must not be `None`") # noqa: E501 - - self._edges = edges diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/resource_role_enum.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/resource_role_enum.py deleted file mode 100644 index 3f6b2e842..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/resource_role_enum.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server import util - - -class ResourceRoleEnum(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - """ - allowed enum values - """ - PRIMARY_KNOWLEDGE_SOURCE = "primary_knowledge_source" - AGGREGATOR_KNOWLEDGE_SOURCE = "aggregator_knowledge_source" - SUPPORTING_DATA_SOURCE = "supporting_data_source" - def __init__(self): # noqa: E501 - """ResourceRoleEnum - a model defined in OpenAPI - - """ - self.openapi_types = { - } - - self.attribute_map = { - } - - @classmethod - def from_dict(cls, dikt) -> 'ResourceRoleEnum': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The ResourceRoleEnum of this ResourceRoleEnum. # noqa: E501 - :rtype: ResourceRoleEnum - """ - return util.deserialize_model(dikt, cls) diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/response.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/response.py deleted file mode 100644 index b43a8ebd4..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/response.py +++ /dev/null @@ -1,688 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.log_entry import LogEntry -from openapi_server.models.message import Message -from openapi_server.models.any_type import AnyType -from openapi_server.models.operations import Operations -from openapi_server import util - -from openapi_server.models.log_entry import LogEntry # noqa: E501 -from openapi_server.models.message import Message # noqa: E501 - -class Response(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, message=None, status=None, description=None, logs=None, workflow=None, submitter=None, operations=None, job_id=None, resource_id=None, tool_version=None, schema_version=None, biolink_version=None, datetime=None, table_column_names=None, original_question=None, restated_question=None, query_options=None, context=None, type=None, id=None, validation_result=None, total_results_count=None, info=None): # noqa: E501 - """Response - a model defined in OpenAPI - - :param message: The message of this Response. # noqa: E501 - :type message: Message - :param status: The status of this Response. # noqa: E501 - :type status: str - :param description: The description of this Response. # noqa: E501 - :type description: str - :param logs: The logs of this Response. # noqa: E501 - :type logs: List[LogEntry] - :param workflow: The workflow of this Response. # noqa: E501 - :type workflow: List[AnyType] - :param submitter: The submitter of this Response. # noqa: E501 - :type submitter: str - :param operations: The operations of this Response. # noqa: E501 - :type operations: Operations - :param job_id: The job_id of this Response. # noqa: E501 - :type job_id: str - :param resource_id: The resource_id of this Response. # noqa: E501 - :type resource_id: str - :param tool_version: The tool_version of this Response. # noqa: E501 - :type tool_version: str - :param schema_version: The schema_version of this Response. # noqa: E501 - :type schema_version: str - :param biolink_version: The biolink_version of this Response. # noqa: E501 - :type biolink_version: str - :param datetime: The datetime of this Response. # noqa: E501 - :type datetime: str - :param table_column_names: The table_column_names of this Response. # noqa: E501 - :type table_column_names: List[str] - :param original_question: The original_question of this Response. # noqa: E501 - :type original_question: str - :param restated_question: The restated_question of this Response. # noqa: E501 - :type restated_question: str - :param query_options: The query_options of this Response. # noqa: E501 - :type query_options: object - :param context: The context of this Response. # noqa: E501 - :type context: str - :param type: The type of this Response. # noqa: E501 - :type type: str - :param id: The id of this Response. # noqa: E501 - :type id: str - :param validation_result: The validation_result of this Response. # noqa: E501 - :type validation_result: object - :param total_results_count: The total_results_count of this Response. # noqa: E501 - :type total_results_count: int - :param info: The info of this Response. # noqa: E501 - :type info: str - """ - self.openapi_types = { - 'message': Message, - 'status': str, - 'description': str, - 'logs': List[LogEntry], - 'workflow': List[AnyType], - 'submitter': str, - 'operations': Operations, - 'job_id': str, - 'resource_id': str, - 'tool_version': str, - 'schema_version': str, - 'biolink_version': str, - 'datetime': str, - 'table_column_names': List[str], - 'original_question': str, - 'restated_question': str, - 'query_options': object, - 'context': str, - 'type': str, - 'id': str, - 'validation_result': object, - 'total_results_count': int, - 'info': str - } - - self.attribute_map = { - 'message': 'message', - 'status': 'status', - 'description': 'description', - 'logs': 'logs', - 'workflow': 'workflow', - 'submitter': 'submitter', - 'operations': 'operations', - 'job_id': 'job_id', - 'resource_id': 'resource_id', - 'tool_version': 'tool_version', - 'schema_version': 'schema_version', - 'biolink_version': 'biolink_version', - 'datetime': 'datetime', - 'table_column_names': 'table_column_names', - 'original_question': 'original_question', - 'restated_question': 'restated_question', - 'query_options': 'query_options', - 'context': 'context', - 'type': 'type', - 'id': 'id', - 'validation_result': 'validation_result', - 'total_results_count': 'total_results_count', - 'info': 'info' - } - - self._message = message - self._status = status - self._description = description - self._logs = logs - self._workflow = workflow - self._submitter = submitter - self._operations = operations - self._job_id = job_id - self._resource_id = resource_id - self._tool_version = tool_version - self._schema_version = schema_version - self._biolink_version = biolink_version - self._datetime = datetime - self._table_column_names = table_column_names - self._original_question = original_question - self._restated_question = restated_question - self._query_options = query_options - self._context = context - self._type = type - self._id = id - self._validation_result = validation_result - self._total_results_count = total_results_count - self._info = info - - @classmethod - def from_dict(cls, dikt) -> 'Response': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Response of this Response. # noqa: E501 - :rtype: Response - """ - return util.deserialize_model(dikt, cls) - - @property - def message(self): - """Gets the message of this Response. - - - :return: The message of this Response. - :rtype: Message - """ - return self._message - - @message.setter - def message(self, message): - """Sets the message of this Response. - - - :param message: The message of this Response. - :type message: Message - """ - if message is None: - raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501 - - self._message = message - - @property - def status(self): - """Gets the status of this Response. - - One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable # noqa: E501 - - :return: The status of this Response. - :rtype: str - """ - return self._status - - @status.setter - def status(self, status): - """Sets the status of this Response. - - One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable # noqa: E501 - - :param status: The status of this Response. - :type status: str - """ - - self._status = status - - @property - def description(self): - """Gets the description of this Response. - - A brief human-readable description of the outcome # noqa: E501 - - :return: The description of this Response. - :rtype: str - """ - return self._description - - @description.setter - def description(self, description): - """Sets the description of this Response. - - A brief human-readable description of the outcome # noqa: E501 - - :param description: The description of this Response. - :type description: str - """ - - self._description = description - - @property - def logs(self): - """Gets the logs of this Response. - - A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. # noqa: E501 - - :return: The logs of this Response. - :rtype: List[LogEntry] - """ - return self._logs - - @logs.setter - def logs(self, logs): - """Sets the logs of this Response. - - A list of LogEntry items, containing errors, warnings, debugging information, etc. List items MUST be in chronological order with earliest first. # noqa: E501 - - :param logs: The logs of this Response. - :type logs: List[LogEntry] - """ - - self._logs = logs - - @property - def workflow(self): - """Gets the workflow of this Response. - - A list of operations that were executed. # noqa: E501 - - :return: The workflow of this Response. - :rtype: List[AnyType] - """ - return self._workflow - - @workflow.setter - def workflow(self, workflow): - """Sets the workflow of this Response. - - A list of operations that were executed. # noqa: E501 - - :param workflow: The workflow of this Response. - :type workflow: List[AnyType] - """ - - self._workflow = workflow - - @property - def submitter(self): - """Gets the submitter of this Response. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :return: The submitter of this Response. - :rtype: str - """ - return self._submitter - - @submitter.setter - def submitter(self, submitter): - """Sets the submitter of this Response. - - Any string for self-identifying the submitter of a query. The purpose of this optional field is to aid in the tracking of the source of queries for development and issue resolution. # noqa: E501 - - :param submitter: The submitter of this Response. - :type submitter: str - """ - - self._submitter = submitter - - @property - def operations(self): - """Gets the operations of this Response. - - Container for one or more Message objects or identifiers for one or more Messages along with the processing plan and options for how those messages were processed and returned # noqa: E501 - - :return: The operations of this Response. - :rtype: Operations - """ - return self._operations - - @operations.setter - def operations(self, operations): - """Sets the operations of this Response. - - Container for one or more Message objects or identifiers for one or more Messages along with the processing plan and options for how those messages were processed and returned # noqa: E501 - - :param operations: The operations of this Response. - :type operations: Operations - """ - - self._operations = operations - - @property - def job_id(self): - """Gets the job_id of this Response. - - An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job. # noqa: E501 - - :return: The job_id of this Response. - :rtype: str - """ - return self._job_id - - @job_id.setter - def job_id(self, job_id): - """Sets the job_id of this Response. - - An identifier for the submitted job that can be used with /async_query_status to receive an update on the status of the job. # noqa: E501 - - :param job_id: The job_id of this Response. - :type job_id: str - """ - - self._job_id = job_id - - @property - def resource_id(self): - """Gets the resource_id of this Response. - - Identifier string of the resource that provided this response (one of ARAX, Aragorn, etc.) # noqa: E501 - - :return: The resource_id of this Response. - :rtype: str - """ - return self._resource_id - - @resource_id.setter - def resource_id(self, resource_id): - """Sets the resource_id of this Response. - - Identifier string of the resource that provided this response (one of ARAX, Aragorn, etc.) # noqa: E501 - - :param resource_id: The resource_id of this Response. - :type resource_id: str - """ - - self._resource_id = resource_id - - @property - def tool_version(self): - """Gets the tool_version of this Response. - - Version label of the tool that generated this response # noqa: E501 - - :return: The tool_version of this Response. - :rtype: str - """ - return self._tool_version - - @tool_version.setter - def tool_version(self, tool_version): - """Sets the tool_version of this Response. - - Version label of the tool that generated this response # noqa: E501 - - :param tool_version: The tool_version of this Response. - :type tool_version: str - """ - - self._tool_version = tool_version - - @property - def schema_version(self): - """Gets the schema_version of this Response. - - Version label of this TRAPI schema # noqa: E501 - - :return: The schema_version of this Response. - :rtype: str - """ - return self._schema_version - - @schema_version.setter - def schema_version(self, schema_version): - """Sets the schema_version of this Response. - - Version label of this TRAPI schema # noqa: E501 - - :param schema_version: The schema_version of this Response. - :type schema_version: str - """ - - self._schema_version = schema_version - - @property - def biolink_version(self): - """Gets the biolink_version of this Response. - - Version label of the Biolink model used in this document # noqa: E501 - - :return: The biolink_version of this Response. - :rtype: str - """ - return self._biolink_version - - @biolink_version.setter - def biolink_version(self, biolink_version): - """Sets the biolink_version of this Response. - - Version label of the Biolink model used in this document # noqa: E501 - - :param biolink_version: The biolink_version of this Response. - :type biolink_version: str - """ - - self._biolink_version = biolink_version - - @property - def datetime(self): - """Gets the datetime of this Response. - - Datetime string for the time that this response was generated # noqa: E501 - - :return: The datetime of this Response. - :rtype: str - """ - return self._datetime - - @datetime.setter - def datetime(self, datetime): - """Sets the datetime of this Response. - - Datetime string for the time that this response was generated # noqa: E501 - - :param datetime: The datetime of this Response. - :type datetime: str - """ - - self._datetime = datetime - - @property - def table_column_names(self): - """Gets the table_column_names of this Response. - - List of column names that corresponds to the row_data for each result # noqa: E501 - - :return: The table_column_names of this Response. - :rtype: List[str] - """ - return self._table_column_names - - @table_column_names.setter - def table_column_names(self, table_column_names): - """Sets the table_column_names of this Response. - - List of column names that corresponds to the row_data for each result # noqa: E501 - - :param table_column_names: The table_column_names of this Response. - :type table_column_names: List[str] - """ - - self._table_column_names = table_column_names - - @property - def original_question(self): - """Gets the original_question of this Response. - - The original question text typed in by the user # noqa: E501 - - :return: The original_question of this Response. - :rtype: str - """ - return self._original_question - - @original_question.setter - def original_question(self, original_question): - """Sets the original_question of this Response. - - The original question text typed in by the user # noqa: E501 - - :param original_question: The original_question of this Response. - :type original_question: str - """ - - self._original_question = original_question - - @property - def restated_question(self): - """Gets the restated_question of this Response. - - A precise restatement of the question, as understood by the Translator, for which the answer applies. The user should verify that the restated question matches the intent of their original question (it might not). # noqa: E501 - - :return: The restated_question of this Response. - :rtype: str - """ - return self._restated_question - - @restated_question.setter - def restated_question(self, restated_question): - """Sets the restated_question of this Response. - - A precise restatement of the question, as understood by the Translator, for which the answer applies. The user should verify that the restated question matches the intent of their original question (it might not). # noqa: E501 - - :param restated_question: The restated_question of this Response. - :type restated_question: str - """ - - self._restated_question = restated_question - - @property - def query_options(self): - """Gets the query_options of this Response. - - Dict of options that can be sent with the query. Options are tool specific and not stipulated here # noqa: E501 - - :return: The query_options of this Response. - :rtype: object - """ - return self._query_options - - @query_options.setter - def query_options(self, query_options): - """Sets the query_options of this Response. - - Dict of options that can be sent with the query. Options are tool specific and not stipulated here # noqa: E501 - - :param query_options: The query_options of this Response. - :type query_options: object - """ - - self._query_options = query_options - - @property - def context(self): - """Gets the context of this Response. - - JSON-LD context URI # noqa: E501 - - :return: The context of this Response. - :rtype: str - """ - return self._context - - @context.setter - def context(self, context): - """Sets the context of this Response. - - JSON-LD context URI # noqa: E501 - - :param context: The context of this Response. - :type context: str - """ - - self._context = context - - @property - def type(self): - """Gets the type of this Response. - - Entity type of this response # noqa: E501 - - :return: The type of this Response. - :rtype: str - """ - return self._type - - @type.setter - def type(self, type): - """Sets the type of this Response. - - Entity type of this response # noqa: E501 - - :param type: The type of this Response. - :type type: str - """ - - self._type = type - - @property - def id(self): - """Gets the id of this Response. - - URI for this response # noqa: E501 - - :return: The id of this Response. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this Response. - - URI for this response # noqa: E501 - - :param id: The id of this Response. - :type id: str - """ - - self._id = id - - @property - def validation_result(self): - """Gets the validation_result of this Response. - - Validation results and other summary stats computed for this Response. # noqa: E501 - - :return: The validation_result of this Response. - :rtype: object - """ - return self._validation_result - - @validation_result.setter - def validation_result(self, validation_result): - """Sets the validation_result of this Response. - - Validation results and other summary stats computed for this Response. # noqa: E501 - - :param validation_result: The validation_result of this Response. - :type validation_result: object - """ - - self._validation_result = validation_result - - @property - def total_results_count(self): - """Gets the total_results_count of this Response. - - The total number of results that were generated prior to any filtering. # noqa: E501 - - :return: The total_results_count of this Response. - :rtype: int - """ - return self._total_results_count - - @total_results_count.setter - def total_results_count(self, total_results_count): - """Sets the total_results_count of this Response. - - The total number of results that were generated prior to any filtering. # noqa: E501 - - :param total_results_count: The total_results_count of this Response. - :type total_results_count: int - """ - - self._total_results_count = total_results_count - - @property - def info(self): - """Gets the info of this Response. - - A placholder for including some additional information # noqa: E501 - - :return: The info of this Response. - :rtype: str - """ - return self._info - - @info.setter - def info(self, info): - """Sets the info of this Response. - - A placholder for including some additional information # noqa: E501 - - :param info: The info of this Response. - :type info: str - """ - - self._info = info diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/result.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/result.py deleted file mode 100644 index 0df976844..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/result.py +++ /dev/null @@ -1,440 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.analysis import Analysis -from openapi_server.models.node_binding import NodeBinding -from openapi_server.models.any_type import AnyType -from openapi_server import util - -from openapi_server.models.analysis import Analysis # noqa: E501 -from openapi_server.models.node_binding import NodeBinding # noqa: E501 -from openapi_server.models.any_type import AnyType # noqa: E501 - -class Result(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, node_bindings=None, analyses=None, id=None, description=None, essence=None, essence_category=None, row_data=None, score=None, score_name=None, score_direction=None, confidence=None, result_group=None, result_group_similarity_score=None, resource_id=None): # noqa: E501 - """Result - a model defined in OpenAPI - - :param node_bindings: The node_bindings of this Result. # noqa: E501 - :type node_bindings: Dict[str, List[NodeBinding]] - :param analyses: The analyses of this Result. # noqa: E501 - :type analyses: List[Analysis] - :param id: The id of this Result. # noqa: E501 - :type id: str - :param description: The description of this Result. # noqa: E501 - :type description: str - :param essence: The essence of this Result. # noqa: E501 - :type essence: str - :param essence_category: The essence_category of this Result. # noqa: E501 - :type essence_category: str - :param row_data: The row_data of this Result. # noqa: E501 - :type row_data: List[AnyType] - :param score: The score of this Result. # noqa: E501 - :type score: float - :param score_name: The score_name of this Result. # noqa: E501 - :type score_name: str - :param score_direction: The score_direction of this Result. # noqa: E501 - :type score_direction: str - :param confidence: The confidence of this Result. # noqa: E501 - :type confidence: float - :param result_group: The result_group of this Result. # noqa: E501 - :type result_group: int - :param result_group_similarity_score: The result_group_similarity_score of this Result. # noqa: E501 - :type result_group_similarity_score: float - :param resource_id: The resource_id of this Result. # noqa: E501 - :type resource_id: str - """ - self.openapi_types = { - 'node_bindings': Dict[str, List[NodeBinding]], - 'analyses': List[Analysis], - 'id': str, - 'description': str, - 'essence': str, - 'essence_category': str, - 'row_data': List[AnyType], - 'score': float, - 'score_name': str, - 'score_direction': str, - 'confidence': float, - 'result_group': int, - 'result_group_similarity_score': float, - 'resource_id': str - } - - self.attribute_map = { - 'node_bindings': 'node_bindings', - 'analyses': 'analyses', - 'id': 'id', - 'description': 'description', - 'essence': 'essence', - 'essence_category': 'essence_category', - 'row_data': 'row_data', - 'score': 'score', - 'score_name': 'score_name', - 'score_direction': 'score_direction', - 'confidence': 'confidence', - 'result_group': 'result_group', - 'result_group_similarity_score': 'result_group_similarity_score', - 'resource_id': 'resource_id' - } - - self._node_bindings = node_bindings - self._analyses = analyses - self._id = id - self._description = description - self._essence = essence - self._essence_category = essence_category - self._row_data = row_data - self._score = score - self._score_name = score_name - self._score_direction = score_direction - self._confidence = confidence - self._result_group = result_group - self._result_group_similarity_score = result_group_similarity_score - self._resource_id = resource_id - - @classmethod - def from_dict(cls, dikt) -> 'Result': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The Result of this Result. # noqa: E501 - :rtype: Result - """ - return util.deserialize_model(dikt, cls) - - @property - def node_bindings(self): - """Gets the node_bindings of this Result. - - The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result. # noqa: E501 - - :return: The node_bindings of this Result. - :rtype: Dict[str, List[NodeBinding]] - """ - return self._node_bindings - - @node_bindings.setter - def node_bindings(self, node_bindings): - """Sets the node_bindings of this Result. - - The dictionary of Input Query Graph to Result Knowledge Graph node bindings where the dictionary keys are the key identifiers of the Query Graph nodes and the associated values of those keys are instances of NodeBinding schema type (see below). This value is an array of NodeBindings since a given query node may have multiple knowledge graph Node bindings in the result. # noqa: E501 - - :param node_bindings: The node_bindings of this Result. - :type node_bindings: Dict[str, List[NodeBinding]] - """ - if node_bindings is None: - raise ValueError("Invalid value for `node_bindings`, must not be `None`") # noqa: E501 - - self._node_bindings = node_bindings - - @property - def analyses(self): - """Gets the analyses of this Result. - - The list of all Analysis components that contribute to the result. See below for Analysis components. # noqa: E501 - - :return: The analyses of this Result. - :rtype: List[Analysis] - """ - return self._analyses - - @analyses.setter - def analyses(self, analyses): - """Sets the analyses of this Result. - - The list of all Analysis components that contribute to the result. See below for Analysis components. # noqa: E501 - - :param analyses: The analyses of this Result. - :type analyses: List[Analysis] - """ - if analyses is None: - raise ValueError("Invalid value for `analyses`, must not be `None`") # noqa: E501 - - self._analyses = analyses - - @property - def id(self): - """Gets the id of this Result. - - URI for this result # noqa: E501 - - :return: The id of this Result. - :rtype: str - """ - return self._id - - @id.setter - def id(self, id): - """Sets the id of this Result. - - URI for this result # noqa: E501 - - :param id: The id of this Result. - :type id: str - """ - - self._id = id - - @property - def description(self): - """Gets the description of this Result. - - A free text description of this result answer from the resource # noqa: E501 - - :return: The description of this Result. - :rtype: str - """ - return self._description - - @description.setter - def description(self, description): - """Sets the description of this Result. - - A free text description of this result answer from the resource # noqa: E501 - - :param description: The description of this Result. - :type description: str - """ - - self._description = description - - @property - def essence(self): - """Gets the essence of this Result. - - A single string that is the terse essence of the result (useful for simple answers) # noqa: E501 - - :return: The essence of this Result. - :rtype: str - """ - return self._essence - - @essence.setter - def essence(self, essence): - """Sets the essence of this Result. - - A single string that is the terse essence of the result (useful for simple answers) # noqa: E501 - - :param essence: The essence of this Result. - :type essence: str - """ - - self._essence = essence - - @property - def essence_category(self): - """Gets the essence_category of this Result. - - A Translator BioLink bioentity category of the essence # noqa: E501 - - :return: The essence_category of this Result. - :rtype: str - """ - return self._essence_category - - @essence_category.setter - def essence_category(self, essence_category): - """Sets the essence_category of this Result. - - A Translator BioLink bioentity category of the essence # noqa: E501 - - :param essence_category: The essence_category of this Result. - :type essence_category: str - """ - - self._essence_category = essence_category - - @property - def row_data(self): - """Gets the row_data of this Result. - - An arbitrary list of values that captures the essence of the result that can be turned into a tabular result across all answers (each result is a row) for a user that wants simplified tabular output # noqa: E501 - - :return: The row_data of this Result. - :rtype: List[AnyType] - """ - return self._row_data - - @row_data.setter - def row_data(self, row_data): - """Sets the row_data of this Result. - - An arbitrary list of values that captures the essence of the result that can be turned into a tabular result across all answers (each result is a row) for a user that wants simplified tabular output # noqa: E501 - - :param row_data: The row_data of this Result. - :type row_data: List[AnyType] - """ - - self._row_data = row_data - - @property - def score(self): - """Gets the score of this Result. - - A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better. # noqa: E501 - - :return: The score of this Result. - :rtype: float - """ - return self._score - - @score.setter - def score(self, score): - """Sets the score of this Result. - - A numerical score associated with this result indicating the relevance or confidence of this result relative to others in the returned set. Higher MUST be better. # noqa: E501 - - :param score: The score of this Result. - :type score: float - """ - - self._score = score - - @property - def score_name(self): - """Gets the score_name of this Result. - - Name for the score # noqa: E501 - - :return: The score_name of this Result. - :rtype: str - """ - return self._score_name - - @score_name.setter - def score_name(self, score_name): - """Sets the score_name of this Result. - - Name for the score # noqa: E501 - - :param score_name: The score_name of this Result. - :type score_name: str - """ - - self._score_name = score_name - - @property - def score_direction(self): - """Gets the score_direction of this Result. - - Sorting indicator for the score: one of higher_is_better or lower_is_better # noqa: E501 - - :return: The score_direction of this Result. - :rtype: str - """ - return self._score_direction - - @score_direction.setter - def score_direction(self, score_direction): - """Sets the score_direction of this Result. - - Sorting indicator for the score: one of higher_is_better or lower_is_better # noqa: E501 - - :param score_direction: The score_direction of this Result. - :type score_direction: str - """ - - self._score_direction = score_direction - - @property - def confidence(self): - """Gets the confidence of this Result. - - Confidence metric for this result, a value between (inclusive) 0.0 (no confidence) and 1.0 (highest confidence) # noqa: E501 - - :return: The confidence of this Result. - :rtype: float - """ - return self._confidence - - @confidence.setter - def confidence(self, confidence): - """Sets the confidence of this Result. - - Confidence metric for this result, a value between (inclusive) 0.0 (no confidence) and 1.0 (highest confidence) # noqa: E501 - - :param confidence: The confidence of this Result. - :type confidence: float - """ - - self._confidence = confidence - - @property - def result_group(self): - """Gets the result_group of this Result. - - An integer group number for results for use in cases where several results should be grouped together. Also useful to control sorting ascending. # noqa: E501 - - :return: The result_group of this Result. - :rtype: int - """ - return self._result_group - - @result_group.setter - def result_group(self, result_group): - """Sets the result_group of this Result. - - An integer group number for results for use in cases where several results should be grouped together. Also useful to control sorting ascending. # noqa: E501 - - :param result_group: The result_group of this Result. - :type result_group: int - """ - - self._result_group = result_group - - @property - def result_group_similarity_score(self): - """Gets the result_group_similarity_score of this Result. - - A score that denotes the similarity of this result to other members of the result_group # noqa: E501 - - :return: The result_group_similarity_score of this Result. - :rtype: float - """ - return self._result_group_similarity_score - - @result_group_similarity_score.setter - def result_group_similarity_score(self, result_group_similarity_score): - """Sets the result_group_similarity_score of this Result. - - A score that denotes the similarity of this result to other members of the result_group # noqa: E501 - - :param result_group_similarity_score: The result_group_similarity_score of this Result. - :type result_group_similarity_score: float - """ - - self._result_group_similarity_score = result_group_similarity_score - - @property - def resource_id(self): - """Gets the resource_id of this Result. - - Identifier string of the resource that provided this result (e.g., ARAX, Robokop, etc.) # noqa: E501 - - :return: The resource_id of this Result. - :rtype: str - """ - return self._resource_id - - @resource_id.setter - def resource_id(self, resource_id): - """Sets the resource_id of this Result. - - Identifier string of the resource that provided this result (e.g., ARAX, Robokop, etc.) # noqa: E501 - - :param resource_id: The resource_id of this Result. - :type resource_id: str - """ - - self._resource_id = resource_id diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/retrieval_source.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/retrieval_source.py deleted file mode 100644 index fd0ad857a..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/models/retrieval_source.py +++ /dev/null @@ -1,154 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -from datetime import date, datetime # noqa: F401 - -from typing import List, Dict # noqa: F401 - -from openapi_server.models.base_model_ import Model -from openapi_server.models.resource_role_enum import ResourceRoleEnum -from openapi_server import util - -from openapi_server.models.resource_role_enum import ResourceRoleEnum # noqa: E501 - -class RetrievalSource(Model): - """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - - Do not edit the class manually. - """ - - def __init__(self, resource_id=None, resource_role=None, upstream_resource_ids=None, source_record_urls=None): # noqa: E501 - """RetrievalSource - a model defined in OpenAPI - - :param resource_id: The resource_id of this RetrievalSource. # noqa: E501 - :type resource_id: str - :param resource_role: The resource_role of this RetrievalSource. # noqa: E501 - :type resource_role: ResourceRoleEnum - :param upstream_resource_ids: The upstream_resource_ids of this RetrievalSource. # noqa: E501 - :type upstream_resource_ids: List[str] - :param source_record_urls: The source_record_urls of this RetrievalSource. # noqa: E501 - :type source_record_urls: List[str] - """ - self.openapi_types = { - 'resource_id': str, - 'resource_role': ResourceRoleEnum, - 'upstream_resource_ids': List[str], - 'source_record_urls': List[str] - } - - self.attribute_map = { - 'resource_id': 'resource_id', - 'resource_role': 'resource_role', - 'upstream_resource_ids': 'upstream_resource_ids', - 'source_record_urls': 'source_record_urls' - } - - self._resource_id = resource_id - self._resource_role = resource_role - self._upstream_resource_ids = upstream_resource_ids - self._source_record_urls = source_record_urls - - @classmethod - def from_dict(cls, dikt) -> 'RetrievalSource': - """Returns the dict as a model - - :param dikt: A dict. - :type: dict - :return: The RetrievalSource of this RetrievalSource. # noqa: E501 - :rtype: RetrievalSource - """ - return util.deserialize_model(dikt, cls) - - @property - def resource_id(self): - """Gets the resource_id of this RetrievalSource. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :return: The resource_id of this RetrievalSource. - :rtype: str - """ - return self._resource_id - - @resource_id.setter - def resource_id(self, resource_id): - """Sets the resource_id of this RetrievalSource. - - A Compact URI, consisting of a prefix and a reference separated by a colon, such as UniProtKB:P00738. Via an external context definition, the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, to form a full URI. # noqa: E501 - - :param resource_id: The resource_id of this RetrievalSource. - :type resource_id: str - """ - if resource_id is None: - raise ValueError("Invalid value for `resource_id`, must not be `None`") # noqa: E501 - - self._resource_id = resource_id - - @property - def resource_role(self): - """Gets the resource_role of this RetrievalSource. - - - :return: The resource_role of this RetrievalSource. - :rtype: ResourceRoleEnum - """ - return self._resource_role - - @resource_role.setter - def resource_role(self, resource_role): - """Sets the resource_role of this RetrievalSource. - - - :param resource_role: The resource_role of this RetrievalSource. - :type resource_role: ResourceRoleEnum - """ - if resource_role is None: - raise ValueError("Invalid value for `resource_role`, must not be `None`") # noqa: E501 - - self._resource_role = resource_role - - @property - def upstream_resource_ids(self): - """Gets the upstream_resource_ids of this RetrievalSource. - - An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact. # noqa: E501 - - :return: The upstream_resource_ids of this RetrievalSource. - :rtype: List[str] - """ - return self._upstream_resource_ids - - @upstream_resource_ids.setter - def upstream_resource_ids(self, upstream_resource_ids): - """Sets the upstream_resource_ids of this RetrievalSource. - - An upstream InformationResource from which the resource being described directly retrieved a record of the knowledge expressed in the Edge, or data used to generate this knowledge. This is an array because there are cases where a merged Edge holds knowledge that was retrieved from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing knowledge it retrieved from both the automat-mychem-info and molepro KPs, which both provided it with records of this single fact. # noqa: E501 - - :param upstream_resource_ids: The upstream_resource_ids of this RetrievalSource. - :type upstream_resource_ids: List[str] - """ - - self._upstream_resource_ids = upstream_resource_ids - - @property - def source_record_urls(self): - """Gets the source_record_urls of this RetrievalSource. - - A URL linking to a specific web page or document provided by the source, that contains a record of the knowledge expressed in the Edge. If the knowledge is contained in more than one web page on an Information Resource's site, urls MAY be provided for each. For example, Therapeutic Targets Database (TTD) has separate web pages for 'Imatinib' and its protein target KIT, both of which hold the claim that 'the KIT protein is a therapeutic target for Imatinib'. # noqa: E501 - - :return: The source_record_urls of this RetrievalSource. - :rtype: List[str] - """ - return self._source_record_urls - - @source_record_urls.setter - def source_record_urls(self, source_record_urls): - """Sets the source_record_urls of this RetrievalSource. - - A URL linking to a specific web page or document provided by the source, that contains a record of the knowledge expressed in the Edge. If the knowledge is contained in more than one web page on an Information Resource's site, urls MAY be provided for each. For example, Therapeutic Targets Database (TTD) has separate web pages for 'Imatinib' and its protein target KIT, both of which hold the claim that 'the KIT protein is a therapeutic target for Imatinib'. # noqa: E501 - - :param source_record_urls: The source_record_urls of this RetrievalSource. - :type source_record_urls: List[str] - """ - - self._source_record_urls = source_record_urls diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml deleted file mode 100644 index 7723578be..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/openapi/openapi.yaml +++ /dev/null @@ -1,2171 +0,0 @@ -openapi: 3.0.1 -info: - contact: - email: edeutsch@systemsbiology.org - description: TRAPI 1.5 endpoint for the NCATS Biomedical Translator KP called RTX - KG2 - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - termsOfService: https://github.com/RTXteam/RTX/blob/master/LICENSE - title: RTX KG2 - TRAPI 1.5.0 - version: 2.10.0 - x-translator: - component: KP - team: - - Expander Agent - infores: infores:rtx-kg2 - biolink-version: 4.2.1 - externalDocs: - description: The values for component and team are restricted according to this - external JSON schema. See schema and examples at url - url: https://github.com/NCATSTranslator/translator_extensions/blob/production/x-translator/ - x-trapi: - version: 1.5.0 - asyncquery: false - operations: - - lookup - externalDocs: - description: The values for version are restricted according to the regex in - this external JSON schema. See schema and examples at url - url: https://github.com/NCATSTranslator/translator_extensions/blob/production/x-trapi/ -externalDocs: - description: Documentation for the NCATS Biomedical Translator Reasoners web services - url: https://github.com/NCATSTranslator/ReasonerAPI -servers: -- description: RTX-KG2 TRAPI 1.5 endpoint - development - url: https://arax.ncats.io/api/rtxkg2/v1.4 - x-maturity: development -tags: -- description: Retrieve the meta knowledge graph representation of this TRAPI web - service. KPs MUST provide all subject category - predicate - object category triplets - that are supported by the service, including all implied ancestor relationships. - ARAs SHOULD provide the union of all meta knowledge graphs of all the KPs that - they can consult. - externalDocs: - description: Documentation for the reasoner predicates function - url: https://arax.ncats.io/overview.html#predicates - name: meta_knowledge_graph -- description: Initiate a query and wait to receive the response - externalDocs: - description: Documentation for the reasoner query function - url: https://arax.ncats.io/overview.html#query - name: query -- description: Initiate a query with a callback to receive the response - externalDocs: - description: Documentation for the reasoner asynchquery function - url: https://arax.ncats.io/overview.html#asyncquery - name: asyncquery -- description: Retrieve the current status of a previously submitted asyncquery given - its job_id - name: asyncquery_status -- description: Required for SmartAPI validation of x-translator - name: translator -- description: Required for SmartAPI validation of x-trapi - name: trapi -- description: Return identifier and type of some entity in the knowledge graph - externalDocs: - description: Documentation for the reasoner entity function - url: https://arax.ncats.io/overview.html#entity - name: entity -- description: Return status information about the endpoint - name: status -paths: - /asyncquery: - post: - operationId: asyncquery - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AsyncQuery' - description: Query information to be submitted - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/AsyncQueryResponse' - description: The query is accepted for processing and the Response will - be sent to the callback url when complete. - "400": - content: - application/json: - schema: - type: string - description: Bad request. The request is invalid according to this OpenAPI - schema OR a specific identifier is believed to be invalid somehow (not - just unrecognized). - "413": - content: - application/json: - schema: - type: string - description: Payload too large. Indicates that batch size was over the limit - specified in x-trapi. - "429": - content: - application/json: - schema: - type: string - description: Too many requests. Indicates that the client issued requests - that exceed the rate limit specified in x-trapi. - "500": - content: - application/json: - schema: - type: string - description: Internal server error. - "501": - content: - application/json: - schema: - type: string - description: Not implemented. - summary: Initiate a query with a callback to receive the response - tags: - - asyncquery - x-openapi-router-controller: openapi_server.controllers.asyncquery_controller - /asyncquery_status/{job_id}: - get: - operationId: asyncquery_status - parameters: - - description: Identifier of the job for status request - example: rXEOAosN3L - explode: false - in: path - name: job_id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/AsyncQueryStatusResponse' - description: Returns the status and current logs of a previously submitted - asyncquery. - "404": - description: job_id not found - "501": - content: - application/json: - schema: - type: string - description: Return code 501 indicates that this endpoint has not been implemented - at this site. Sites that implement /asyncquery MUST implement /asyncquery_status/{job_id}, - but those that do not implement /asyncquery SHOULD NOT implement /asyncquery_status. - summary: Retrieve the current status of a previously submitted asyncquery given - its job_id - tags: - - asyncquery_status - x-openapi-router-controller: openapi_server.controllers.asyncquery_status_controller - /entity: - get: - operationId: get_entity - parameters: - - description: A string to search by (name, abbreviation, CURIE, etc.). The - parameter may be repeated for multiple search strings. - explode: true - in: query - name: q - required: true - schema: - example: - - MESH:D014867 - - NCIT:C34373 - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - type: object - description: successful operation - "404": - description: Entity not found - summary: Obtain CURIE and synonym information about a search term - tags: - - entity - x-openapi-router-controller: openapi_server.controllers.entity_controller - post: - operationId: post_entity - requestBody: - content: - application/json: - schema: - type: object - description: List of terms to get information about - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EntityQuery' - description: successful operation - "404": - description: Entity not found - summary: Obtain CURIE and synonym information about search terms - tags: - - entity - x-openapi-router-controller: openapi_server.controllers.entity_controller - /meta_knowledge_graph: - get: - operationId: meta_knowledge_graph - parameters: - - description: Provide meta_knowledge_graph information in a format other than - the default. Default value is 'full'. Also permitted is 'simple' - explode: true - in: query - name: format - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/MetaKnowledgeGraph' - description: Returns meta knowledge graph representation of this TRAPI web - service. - summary: Meta knowledge graph representation of this TRAPI web service. - tags: - - meta_knowledge_graph - x-openapi-router-controller: openapi_server.controllers.meta_knowledge_graph_controller - /query: - post: - operationId: query - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Query' - description: Query information to be submitted - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Response' - description: OK. There may or may not be results. Note that some of the - provided identifiers may not have been recognized. - "400": - content: - application/json: - schema: - type: string - description: Bad request. The request is invalid according to this OpenAPI - schema OR a specific identifier is believed to be invalid somehow (not - just unrecognized). - "413": - content: - application/json: - schema: - type: string - description: Payload too large. Indicates that batch size was over the limit - specified in x-trapi. - "429": - content: - application/json: - schema: - type: string - description: Too many requests. Indicates that the client issued requests - that exceed the rate limit specified in x-trapi. - "500": - content: - application/json: - schema: - type: string - description: Internal server error. - "501": - content: - application/json: - schema: - type: string - description: Not implemented. - summary: Initiate a query and wait to receive a Response - tags: - - query - x-openapi-router-controller: openapi_server.controllers.query_controller - /status: - get: - operationId: get_status - parameters: - - description: Limit results to the past N hours - explode: true - in: query - name: last_n_hours - required: false - schema: - example: 6 - type: integer - style: form - - description: Identifier of the log entry - explode: true - in: query - name: id - required: false - schema: - example: 10 - type: integer - style: form - - description: PID of an ongoing query to terminate - explode: true - in: query - name: terminate_pid - required: false - schema: - type: integer - style: form - - description: Authorization string required for certain calls to status - explode: true - in: query - name: authorization - required: false - schema: - type: string - style: form - - description: 'Switch to control the type of returned status information Possible - values are: activity: Show query activity on server [default] smartapi: - Summarize Translator endpoints at SmartAPI' - explode: true - in: query - name: mode - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/json: - schema: - type: object - description: successful operation - "404": - description: Entity not found - summary: Obtain status information about the endpoint - tags: - - status - x-openapi-router-controller: openapi_server.controllers.status_controller - /status/logs: - get: - operationId: get_logs - parameters: - - description: Specify the log sending mode - explode: true - in: query - name: mode - required: false - schema: - example: tail - type: string - style: form - responses: - "200": - content: - text/plain: - schema: - type: string - description: successful operation - "404": - description: Logs not found - summary: Get log information from the server - tags: - - status - x-openapi-router-controller: openapi_server.controllers.status_controller -components: - schemas: - Query: - additionalProperties: true - description: The Query class is used to package a user request for information. - A Query object consists of a required Message object with optional additional - properties. Additional properties are intended to convey implementation-specific - or query-independent parameters. For example, an additional property specifying - a log level could allow a user to override the default log level in order - to receive more fine-grained log information when debugging an issue. - properties: - message: - oneOf: - - $ref: '#/components/schemas/Message' - nullable: false - log_level: - description: The least critical level of logs to return - nullable: true - oneOf: - - $ref: '#/components/schemas/LogLevel' - workflow: - description: List of workflow steps to be executed. - items: - oneOf: - - $ref: '#/components/schemas/OperationLookup' - type: array - submitter: - description: Any string for self-identifying the submitter of a query. The - purpose of this optional field is to aid in the tracking of the source - of queries for development and issue resolution. - nullable: true - type: string - bypass_cache: - default: false - description: >- - Set to true in order to request that the agent obtain - fresh information from its sources in all cases where - it has a viable choice between requesting fresh information - in real time and using cached information. The agent - receiving this flag MUST also include it in TRAPI sent to - downstream sources (e.g., ARS -> ARAs -> KPs). - type: boolean - stream_progress: - default: false - description: Set to true in order to receive a stream of LogEntry objects - as the query is progressing - type: boolean - enforce_edge_directionality: - default: false - description: Set to true in order to enforce edge directionality during - queries. By default, edge directionality can be reversed without penalty. - type: boolean - return_minimal_metadata: - default: false - description: Set to true in order to return only the most minimal metadata. - By default, rich metadata for nodes and edges are supplied, which may - cause a very large and slower Response. - type: boolean - max_results: - default: 100 - description: Maximum number of individual results to return - example: 100 - type: integer - page_size: - default: 100 - description: Split the results into pages with this number of results each - example: 100 - type: integer - page_number: - default: 1 - description: Page number of results when the number of results exceeds the - page_size, with page 1 as the first page - example: 1 - type: integer - operations: - description: Container for one or more Message objects or identifiers for - one or more Messages along with a processing plan and options for how - those messages should be processed and returned - nullable: true - oneOf: - - $ref: '#/components/schemas/Operations' - required: - - message - title: Query - type: object - x-body-name: request_body - AsyncQuery: - additionalProperties: true - description: The AsyncQuery class is effectively the same as the Query class - but it requires a callback property. - properties: - callback: - description: 'Upon completion, this server will send a POST request to the - callback URL with `Content-Type: application/json` header and request - body containing a JSON-encoded `Response` object. The server MAY POST - `Response` objects before work is fully complete to provide interim results - with a Response.status value of ''Running''. If a POST operation to the - callback URL does not succeed, the server SHOULD retry the POST at least - once.' - format: uri - pattern: ^https?:// - type: string - message: - oneOf: - - $ref: '#/components/schemas/Message' - nullable: false - log_level: - description: The least critical level of logs to return - nullable: true - oneOf: - - $ref: '#/components/schemas/LogLevel' - workflow: - description: List of workflow steps to be executed. - items: - oneOf: - - $ref: '#/components/schemas/OperationLookup' - type: array - submitter: - description: Any string for self-identifying the submitter of a query. The - purpose of this optional field is to aid in the tracking of the source - of queries for development and issue resolution. - nullable: true - type: string - bypass_cache: - type: boolean - default: false - description: >- - Set to true in order to request that the agent obtain - fresh information from its sources in all cases where - it has a viable choice between requesting fresh information - in real time and using cached information. The agent - receiving this flag MUST also include it in TRAPI sent to - downstream sources (e.g., ARS -> ARAs -> KPs). - required: - - callback - - message - type: object - x-body-name: request_body - AsyncQueryResponse: - additionalProperties: true - description: The AsyncQueryResponse object contains a payload that must be returned - from a submitted async_query. - example: - job_id: rXEOAosN3L - description: Async_query has been queued - status: Accepted - properties: - status: - description: 'One of a standardized set of short codes: e.g. Accepted, QueryNotTraversable, - KPsNotAvailable' - example: Accepted - nullable: true - type: string - description: - description: A brief human-readable description of the result of the async_query - submission. - example: Async_query has been queued - nullable: true - type: string - job_id: - description: An identifier for the submitted job that can be used with /async_query_status - to receive an update on the status of the job. - example: rXEOAosN3L - nullable: false - type: string - required: - - job_id - title: AsyncQueryResponse - type: object - AsyncQueryStatusResponse: - additionalProperties: true - description: The AsyncQueryStatusResponse object contains a payload that describes - the current status of a previously submitted async_query. - example: - description: Callback URL returned 500 - logs: - - code: code - level: "" - message: message - timestamp: 2020-09-03T18:13:49Z - - code: code - level: "" - message: message - timestamp: 2020-09-03T18:13:49Z - status: Running - response_url: https://arax.ncats.io/api/arax/v1.3/response/116481 - properties: - status: - description: 'One of a standardized set of short codes: Queued, Running, - Completed, Failed' - example: Running - nullable: false - type: string - description: - description: A brief human-readable description of the current state or - summary of the problem if the status is Failed. - example: Callback URL returned 500 - nullable: false - type: string - logs: - description: A list of LogEntry items, containing errors, warnings, debugging - information, etc. List items MUST be in chronological order with earliest - first. The most recent entry should be last. Its timestamp will be compared - against the current time to see if there is still activity. - items: - $ref: '#/components/schemas/LogEntry' - nullable: false - type: array - response_url: - description: Optional URL that can be queried to restrieve the full TRAPI - Response. - example: https://arax.ncats.io/api/arax/v1.3/response/116481 - nullable: true - type: string - required: - - description - - logs - - status - title: AsyncQueryStatusResponse - type: object - Response: - additionalProperties: true - description: The Response object contains the main payload when a TRAPI query - endpoint interprets and responds to the submitted query successfully (i.e., - HTTP Status Code 200). The message property contains the knowledge of the - response (query graph, knowledge graph, and results). The status, description, - and logs properties provide additional details about the response. - example: - original_question: what proteins are affected by sickle cell anemia - validation_result: '{}' - submitter: submitter - workflow: - - "" - - "" - query_options: - coalesce: true - threshold: 0.9 - restated_question: Which proteins are affected by sickle cell anemia? - biolink_version: 3.1.2 - description: Success. 42 results found. - message: - query_graph: - edges: - e00: - subject: n00 - object: n01 - predicates: - - biolink:physically_interacts_with - nodes: - n00: - ids: - - CHEMBL.COMPOUND:CHEMBL112 - n01: - categories: - - biolink:Protein - type: TranslatorAPIResponse - total_results_count: 0 - schema_version: 1.4.0 - datetime: 2021-01-09 12:34:45 - operations: "" - table_column_names: - - chemical_substance.name - - chemical_substance.id - tool_version: ARAX 0.8.0 - job_id: rXEOAosN3L - context: https://rtx.ncats.io/ns/translator.jsonld - resource_id: ARAX - id: https://arax.ncats.io/api/rtx/v1.3/response/123 - logs: - - code: code - level: "" - message: message - timestamp: 2020-09-03T18:13:49Z - - code: code - level: "" - message: message - timestamp: 2020-09-03T18:13:49Z - status: Success - info: info - properties: - message: - oneOf: - - $ref: '#/components/schemas/Message' - nullable: false - status: - description: One of a standardized set of short codes, e.g. Success, QueryNotTraversable, - KPsNotAvailable - example: Success - nullable: true - type: string - description: - description: A brief human-readable description of the outcome - example: Success. 42 results found. - nullable: true - type: string - logs: - description: A list of LogEntry items, containing errors, warnings, debugging - information, etc. List items MUST be in chronological order with earliest - first. - items: - $ref: '#/components/schemas/LogEntry' - nullable: true - type: array - workflow: - description: A list of operations that were executed. - items: - oneOf: - - $ref: '#/components/schemas/OperationLookup' - type: array - submitter: - description: Any string for self-identifying the submitter of a query. The - purpose of this optional field is to aid in the tracking of the source - of queries for development and issue resolution. - nullable: true - type: string - operations: - description: Container for one or more Message objects or identifiers for - one or more Messages along with the processing plan and options for how - those messages were processed and returned - oneOf: - - $ref: '#/components/schemas/Operations' - job_id: - description: An identifier for the submitted job that can be used with /async_query_status - to receive an update on the status of the job. - example: rXEOAosN3L - nullable: true - type: string - resource_id: - description: Identifier string of the resource that provided this response - (one of ARAX, Aragorn, etc.) - example: ARAX - nullable: true - type: string - tool_version: - description: Version label of the tool that generated this response - example: ARAX 0.8.0 - type: string - schema_version: - description: Version label of this TRAPI schema - example: 1.4.0 - type: string - biolink_version: - description: Version label of the Biolink model used in this document - example: 3.1.2 - type: string - datetime: - description: Datetime string for the time that this response was generated - example: 2021-01-09 12:34:45 - type: string - table_column_names: - description: List of column names that corresponds to the row_data for each - result - example: - - chemical_substance.name - - chemical_substance.id - items: - type: string - type: array - original_question: - description: The original question text typed in by the user - example: what proteins are affected by sickle cell anemia - type: string - restated_question: - description: A precise restatement of the question, as understood by the - Translator, for which the answer applies. The user should verify that - the restated question matches the intent of their original question (it - might not). - example: Which proteins are affected by sickle cell anemia? - type: string - query_options: - description: Dict of options that can be sent with the query. Options are - tool specific and not stipulated here - example: - coalesce: true - threshold: 0.9 - type: object - context: - description: JSON-LD context URI - example: https://rtx.ncats.io/ns/translator.jsonld - type: string - type: - description: Entity type of this response - example: TranslatorAPIResponse - type: string - id: - description: URI for this response - example: https://arax.ncats.io/api/rtx/v1.3/response/123 - type: string - validation_result: - description: Validation results and other summary stats computed for this - Response. - type: object - total_results_count: - description: The total number of results that were generated prior to any - filtering. - nullable: true - type: integer - info: - description: A placholder for including some additional information - nullable: true - type: string - required: - - message - title: Response - type: object - Message: - additionalProperties: false - description: 'The message object holds the main content of a Query or a Response - in three properties: query_graph, results, and knowledge_graph. The query_graph - property contains the query configuration, the results property contains any - answers that are returned by the service, and knowledge_graph property contains - lists of edges and nodes in the thought graph corresponding to this message. - The content of these properties is context-dependent to the encompassing object - and the TRAPI operation requested.' - example: - query_graph: - edges: - e00: - subject: n00 - object: n01 - predicates: - - biolink:physically_interacts_with - nodes: - n00: - ids: - - CHEMBL.COMPOUND:CHEMBL112 - n01: - categories: - - biolink:Protein - properties: - results: - description: |- - List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property, - if present, MAY be used to infer result rankings. If Results are - not expected (such as for a query Message), this property SHOULD - be null or absent. If Results are expected (such as for a response - Message) and no Results are available, this property SHOULD be an - array with 0 Results in it. - items: - $ref: '#/components/schemas/Result' - nullable: true - type: array - query_graph: - description: QueryGraph object that contains a serialization of a query - in the form of a graph - nullable: true - oneOf: - - $ref: '#/components/schemas/QueryGraph' - knowledge_graph: - description: KnowledgeGraph object that contains lists of nodes and edges - in the thought graph corresponding to the message - nullable: true - oneOf: - - $ref: '#/components/schemas/KnowledgeGraph' - auxiliary_graphs: - additionalProperties: - $ref: '#/components/schemas/AuxiliaryGraph' - description: Dictionary of AuxiliaryGraph instances that are used by Knowledge - Graph Edges and Result Analyses. These are referenced elsewhere by the - dictionary key. - type: object - title: Message - type: object - LogEntry: - additionalProperties: true - description: The LogEntry object contains information useful for tracing and - debugging across Translator components. Although an individual component - (for example, an ARA or KP) may have its own logging and debugging infrastructure, - this internal information is not, in general, available to other components. - In addition to a timestamp and logging level, LogEntry includes a string intended - to be read by a human, along with one of a standardized set of codes describing - the condition of the component sending the message. - example: - code: code - level: "" - message: message - timestamp: 2020-09-03T18:13:49Z - properties: - timestamp: - description: Timestamp in ISO 8601 format, providing the LogEntry time either - in univeral coordinated time (UTC) using the 'Z' tag (e.g 2020-09-03T18:13:49Z), - or, if local time is provided, the timezone offset must be provided (e.g. - 2020-09-03T18:13:49-04:00). - example: 2020-09-03T18:13:49Z - format: date-time - nullable: false - type: string - level: - nullable: true - oneOf: - - $ref: '#/components/schemas/LogLevel' - code: - description: One of a standardized set of short codes e.g. QueryNotTraversable, - KPNotAvailable, KPResponseMalformed - nullable: true - type: string - message: - description: A human-readable log message - nullable: false - type: string - required: - - message - - timestamp - title: LogEntry - type: object - LogLevel: - description: Logging level - enum: - - ERROR - - WARNING - - INFO - - DEBUG - example: DEBUG - type: string - x-nullable: true - Result: - additionalProperties: true - description: A Result object specifies the nodes and edges in the knowledge - graph that satisfy the structure or conditions of a user-submitted query graph. - It must contain a NodeBindings object (list of query graph node to knowledge - graph node mappings) and an EdgeBindings object (list of query graph edge - to knowledge graph edge mappings). - properties: - node_bindings: - additionalProperties: - items: - $ref: '#/components/schemas/NodeBinding' - type: array - description: The dictionary of Input Query Graph to Result Knowledge Graph - node bindings where the dictionary keys are the key identifiers of the - Query Graph nodes and the associated values of those keys are instances - of NodeBinding schema type (see below). This value is an array of NodeBindings - since a given query node may have multiple knowledge graph Node bindings - in the result. - type: object - analyses: - description: The list of all Analysis components that contribute to the - result. See below for Analysis components. - items: - $ref: '#/components/schemas/Analysis' - type: array - id: - description: URI for this result - example: result:234 - nullable: true - type: string - description: - description: A free text description of this result answer from the reasoner - example: The genetic condition sickle cell anemia may provide protection - from cerebral malaria via genetic alterations of proteins HBB (P68871) - and HMOX1 (P09601). - nullable: true - type: string - essence: - description: A single string that is the terse essence of the result (useful - for simple answers) - example: ibuprofen - nullable: true - type: string - essence_category: - description: A Translator BioLink bioentity category of the essence - example: biolink:ChemicalEntity - nullable: true - type: string - row_data: - description: An arbitrary list of values that captures the essence of the - result that can be turned into a tabular result across all answers (each - result is a row) for a user that wants simplified tabular output - example: - - ibuprofen - - CHEMBL:CHEMBL521 - items: - oneOf: - - type: string - - type: number - nullable: true - type: array - score: - description: A numerical score associated with this result indicating the - relevance or confidence of this result relative to others in the returned - set. Higher MUST be better. - example: 163.233 - format: float - nullable: true - type: number - score_name: - description: Name for the score - example: Jaccard distance - nullable: true - type: string - score_direction: - description: 'Sorting indicator for the score: one of higher_is_better or - lower_is_better' - example: lower_is_better - nullable: true - type: string - confidence: - description: |- - Confidence metric for this result, a value between (inclusive) - 0.0 (no confidence) and 1.0 (highest confidence) - example: 0.9234 - format: float - nullable: true - type: number - result_group: - description: An integer group number for results for use in cases where - several results should be grouped together. Also useful to control sorting - ascending. - example: 1 - nullable: true - type: integer - result_group_similarity_score: - description: A score that denotes the similarity of this result to other - members of the result_group - example: 0.95 - format: float - nullable: true - type: number - resource_id: - description: Identifier string of the resource that provided this result - (one of ARAX, Aragorn, etc.) - example: ARAX - nullable: true - type: string - required: - - analyses - - node_bindings - title: Result - type: object - NodeBinding: - additionalProperties: true - description: An instance of NodeBinding is a single KnowledgeGraph Node mapping, - identified by the corresponding 'id' object key identifier of the Node within - the Knowledge Graph. Instances of NodeBinding may include extra annotation - in the form of additional properties. (such annotation is not yet fully standardized). - Each Node Binding must bind directly to node in the original Query Graph. - properties: - id: - description: The CURIE of a Node within the Knowledge Graph. - oneOf: - - $ref: '#/components/schemas/CURIE' - nullable: false - query_id: - description: An optional property to provide the CURIE in the QueryGraph - to which this binding applies. If the bound QNode does not have an an - 'id' property or if it is empty, then this query_id MUST be null or absent. - If the bound QNode has one or more CURIEs as an 'id' and this NodeBinding's - 'id' refers to a QNode 'id' in a manner where the CURIEs are different - (typically due to the NodeBinding.id being a descendant of a QNode.id), - then this query_id MUST be provided. In other cases, there is no ambiguity, - and this query_id SHOULD NOT be provided. - oneOf: - - $ref: '#/components/schemas/CURIE' - attributes: - description: A list of attributes providing further information about the - node binding. This is not intended for capturing node attributes and should - only be used for properties that vary from result to result. - items: - $ref: '#/components/schemas/Attribute' - nullable: true - type: array - required: - - id - title: NodeBinding - type: object - Analysis: - additionalProperties: true - description: An analysis is a dictionary that contains information about the - result tied to a particular service. Each Analysis is generated by a single - reasoning service, and describes the outputs of analyses performed by the - reasoner on a particular Result (e.g. a result score), along with provenance - information supporting the analysis (e.g. method or data that supported generation - of the score). - properties: - resource_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - score: - description: A numerical score associated with this result indicating the - relevance or confidence of this result relative to others in the returned - set. Higher MUST be better. - example: 163.233 - format: float - nullable: true - type: number - edge_bindings: - additionalProperties: - items: - $ref: '#/components/schemas/EdgeBinding' - type: array - description: The dictionary of input Query Graph to Knowledge Graph edge - bindings where the dictionary keys are the key identifiers of the Query - Graph edges and the associated values of those keys are instances of EdgeBinding - schema type (see below). This value is an array of EdgeBindings since - a given query edge may resolve to multiple Knowledge Graph Edges. - type: object - support_graphs: - description: This is a list of references to Auxiliary Graph instances that - supported the analysis of a Result as performed by the reasoning service. - Each item in the list is the key of a single Auxiliary Graph. - items: - type: string - nullable: true - type: array - scoring_method: - description: An identifier and link to an explanation for the method used - to generate the score - nullable: true - type: string - attributes: - description: The attributes of this particular Analysis. - items: - $ref: '#/components/schemas/Attribute' - nullable: true - type: array - required: - - edge_bindings - - resource_id - title: Analysis - type: object - EdgeBinding: - additionalProperties: true - description: A instance of EdgeBinding is a single KnowledgeGraph Edge mapping, - identified by the corresponding 'id' object key identifier of the Edge within - the Knowledge Graph. Instances of EdgeBinding may include extra annotation - (such annotation is not yet fully standardized). Edge bindings are captured - within a specific reasoner's Analysis object because the Edges in the Knowledge - Graph that get bound to the input Query Graph may differ between reasoners. - properties: - id: - description: The key identifier of a specific KnowledgeGraph Edge. - type: string - attributes: - description: A list of attributes providing further information about the - edge binding. This is not intended for capturing edge attributes and should - only be used for properties that vary from result to result. - items: - $ref: '#/components/schemas/Attribute' - nullable: true - type: array - required: - - id - title: EdgeBinding - type: object - AuxiliaryGraph: - additionalProperties: true - description: A single AuxiliaryGraph instance that is used by Knowledge Graph - Edges and Result Analyses. Edges comprising an Auxiliary Graph are a subset - of the Knowledge Graph in the message. Data creators can create an AuxiliaryGraph - to assemble a specific collections of edges from the Knowledge Graph into - a named graph that can be referenced from an Edge as evidence/explanation - supporting that Edge, or from a Result Analysis as information used to generate - a score. - properties: - edges: - description: List of edges that form the Auxiliary Graph. Each item is a - reference to a single Knowledge Graph edge - items: - type: string - minItems: 1 - nullable: false - type: array - attributes: - description: Attributes of the Auxiliary Graph - items: - $ref: '#/components/schemas/Attribute' - nullable: true - type: array - required: - - edges - type: object - KnowledgeGraph: - additionalProperties: true - description: The knowledge graph associated with a set of results. The instances - of Node and Edge defining this graph represent instances of biolink:NamedThing - (concept nodes) and biolink:Association (relationship edges) representing - (Attribute) annotated knowledge returned from the knowledge sources and inference - agents wrapped by the given TRAPI implementation. - properties: - nodes: - additionalProperties: - $ref: '#/components/schemas/Node' - description: Dictionary of Node instances used in the KnowledgeGraph, referenced - elsewhere in the TRAPI output by the dictionary key. - type: object - edges: - additionalProperties: - $ref: '#/components/schemas/Edge' - description: Dictionary of Edge instances used in the KnowledgeGraph, referenced - elsewhere in the TRAPI output by the dictionary key. - type: object - required: - - edges - - nodes - type: object - x-nullable: true - QueryGraph: - additionalProperties: true - description: A graph representing a biomedical question. It serves as a template - for each result (answer), where each bound knowledge graph node/edge is expected - to obey the constraints of the associated query graph element. - properties: - nodes: - additionalProperties: - $ref: '#/components/schemas/QNode' - description: The node specifications. The keys of this map are unique node - identifiers and the corresponding values include the constraints on bound - nodes. - type: object - edges: - additionalProperties: - $ref: '#/components/schemas/QEdge' - description: The edge specifications. The keys of this map are unique edge - identifiers and the corresponding values include the constraints on bound - edges, in addition to specifying the subject and object QNodes. - type: object - required: - - edges - - nodes - type: object - QNode: - additionalProperties: true - description: A node in the QueryGraph used to represent an entity in a query. - If a CURIE is not specified, any nodes matching the category of the QNode - will be returned in the Results. - properties: - ids: - description: CURIE identifier for this node - example: - - OMIM:603903 - items: - $ref: '#/components/schemas/CURIE' - minItems: 1 - nullable: true - type: array - categories: - description: These should be Biolink Model categories and are allowed to - be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' - categories should be avoided. - items: - $ref: '#/components/schemas/BiolinkEntity' - minItems: 1 - nullable: true - type: array - set_id: - type: string - description: >- - A client-provided identifier for the set described in this QNode - nullable: true - is_set: - default: false - description: Boolean that if set to true, indicates that this QNode MAY - have multiple KnowledgeGraph Nodes bound to it within each Result. The - nodes in a set should be considered as a set of independent nodes, rather - than a set of dependent nodes, i.e., the answer would still be valid if - the nodes in the set were instead returned individually. Multiple QNodes - may have is_set=True. If a QNode (n1) with is_set=True is connected to - a QNode (n2) with is_set=False, each n1 must be connected to n2. If a - QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True, - each n1 must be connected to at least one n2. - type: boolean - set_interpretation: - type: string - description: >- - Indicates how multiple CURIEs in the ids property MUST be - interpreted. BATCH indicates that the query is intended to be - a batch query and each CURIE is treated independently. ALL means - that all specified CURIES MUST appear in each Result. - MANY means that member CURIEs MUST form one or more - sets in the Results, and sets with more members are generally - considered more desirable that sets with fewer members. - If this property is missing or null, the default is BATCH. - enum: - - BATCH - - ALL - - MANY - nullable: true - constraints: - default: [] - description: A list of contraints applied to a query node. If there are - multiple items, they must all be true (equivalent to AND) - items: - $ref: '#/components/schemas/AttributeConstraint' - type: array - option_group_id: - description: 'Optional string acting as a label on a set of nodes and/or - edges indicating that they belong to a group that are to be evaluated - as a group. ' - nullable: true - type: string - title: QNode - type: object - QEdge: - additionalProperties: true - description: An edge in the QueryGraph used as a filter pattern specification - in a query. If the optional predicate property is not specified, it is assumed - to be a wildcard match to the target knowledge space. If specified, the ontological - inheritance hierarchy associated with the term provided is assumed, such that - edge bindings returned may be an exact match to the given QEdge predicate - term, or to a term that is a descendant of the QEdge predicate term. - properties: - knowledge_type: - description: Indicates the type of knowledge that the client wants from - the server between the subject and object. If the value is 'lookup', then - the client wants direct lookup information from knowledge sources. If - the value is 'inferred', then the client wants the server to get creative - and connect the subject and object in more speculative and non-direct-lookup - ways. If this property is absent or null, it MUST be assumed to mean 'lookup'. - This feature is currently experimental and may be further extended in - the future. - example: lookup - nullable: true - type: string - predicates: - description: These should be Biolink Model predicates and are allowed to - be of type 'abstract' or 'mixin' (only in QGraphs!). Use of 'deprecated' - predicates should be avoided. - items: - $ref: '#/components/schemas/BiolinkPredicate' - minItems: 1 - nullable: true - type: array - subject: - description: Corresponds to the map key identifier of the subject concept - node anchoring the query filter pattern for the query relationship edge. - example: https://omim.org/entry/603903 - type: string - object: - description: Corresponds to the map key identifier of the object concept - node anchoring the query filter pattern for the query relationship edge. - example: https://www.uniprot.org/uniprot/P00738 - type: string - attribute_constraints: - default: [] - description: A list of attribute contraints applied to a query edge. If - there are multiple items, they must all be true (equivalent to AND) - items: - $ref: '#/components/schemas/AttributeConstraint' - type: array - qualifier_constraints: - default: [] - description: A list of QualifierConstraints that provide nuance to the QEdge. - If multiple QualifierConstraints are provided, there is an OR relationship - between them. If the QEdge has multiple predicates or if the QNodes that - correspond to the subject or object of this QEdge have multiple categories - or multiple curies, then qualifier_constraints MUST NOT be specified because - these complex use cases are not supported at this time. - items: - $ref: '#/components/schemas/QualifierConstraint' - type: array - exclude: - description: If set to true, then all subgraphs containing this edge are - excluded from the final results. (optional) - type: boolean - option_group_id: - description: 'Optional string acting as a label on a set of nodes and/or - edges indicating that they belong to a group that are to be evaluated - as a group. ' - nullable: true - type: string - required: - - object - - subject - title: QEdge - type: object - Node: - additionalProperties: false - description: A node in the KnowledgeGraph which represents some biomedical concept. - Nodes are identified by the keys in the KnowledgeGraph Node mapping. - properties: - name: - description: Formal name of the entity - example: Haptoglobin - nullable: true - title: name - type: string - categories: - description: These should be Biolink Model categories and are NOT allowed - to be of type 'abstract' or 'mixin'. Returning 'deprecated' categories - should also be avoided. - items: - $ref: '#/components/schemas/BiolinkEntity' - nullable: true - title: categories - type: array - attributes: - description: A list of attributes describing the node - items: - $ref: '#/components/schemas/Attribute' - nullable: true - title: attributes - type: array - title: Node - type: object - Attribute: - additionalProperties: false - description: Generic attribute for a node or an edge that expands the key-value - pair concept by including fields for additional metadata. These fields can - be used to describe the source of the statement made in a key-value pair of - the attribute object, or describe the attribute's value itself including its - semantic type, or a url providing additional information about it. An attribute - may be further qualified with sub-attributes (for example to provide confidence - intervals on a value). - properties: - attribute_type_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - original_attribute_name: - description: The term used by the original source of an attribute to describe - the meaning or significance of the value it captures. This may be a column - name in a source tsv file, or a key in a source json document for the - field in the data that held the attribute's value. Capturing this information where - possible lets us preserve what the original source said. Note that the - data type is string' but the contents of the field could also be a CURIE - of a third party ontology term. - example: p-value - nullable: true - title: original_attribute_name - type: string - value: - description: Value of the attribute. May be any data type, including a list. - example: 0.000153 - title: value - value_type_id: - description: CURIE describing the semantic type of an attribute's value. - Use a Biolink class if possible, otherwise a term from an external ontology. - If a suitable CURIE/identifier does not exist, enter a descriptive phrase - here and submit the new type for consideration by the appropriate authority. - example: EDAM:data_1187 - nullable: true - oneOf: - - $ref: '#/components/schemas/CURIE' - title: value_type_id - attribute_source: - description: The source of the core assertion made by the key-value pair - of an attribute object. Use a CURIE or namespace designator for this resource - where possible. - example: UniProtKB - nullable: true - title: attribute_source - type: string - value_url: - description: Human-consumable URL linking to a web document that provides - additional information about an attribute's value (not the node or the - edge fom which it hangs). - example: https://pubmed.ncbi.nlm.nih.gov/32529952 - nullable: true - title: value_url - type: string - description: - description: Human-readable description for the attribute and its value. - example: Assertion Authored By Dr. Trans L. Ator - nullable: true - title: description - type: string - attributes: - description: A list of attributes providing further information about the - parent attribute (for example to provide provenance information about - the parent attribute). - items: - $ref: '#/components/schemas/Attribute' - nullable: true - title: attributes - type: array - required: - - attribute_type_id - - value - title: Attribute - type: object - Edge: - additionalProperties: false - description: A specification of the semantic relationship linking two concepts - that are expressed as nodes in the knowledge "thought" graph resulting from - a query upon the underlying knowledge source. - properties: - predicate: - description: The type of relationship between the subject and object for - the statement expressed in an Edge. These should be Biolink Model predicate - terms and are NOT allowed to be of type 'abstract' or 'mixin'. Returning - 'deprecated' predicate terms should also be avoided. - example: biolink:gene_associated_with_condition - nullable: false - oneOf: - - $ref: '#/components/schemas/BiolinkPredicate' - title: predicate - subject: - description: Corresponds to the map key CURIE of the subject concept node - of this relationship edge. - example: MONDO:0011382 - nullable: false - oneOf: - - $ref: '#/components/schemas/CURIE' - title: subject - object: - description: Corresponds to the map key CURIE of the object concept node - of this relationship edge. - example: UniProtKB:P00738 - nullable: false - oneOf: - - $ref: '#/components/schemas/CURIE' - title: object - attributes: - description: A list of additional attributes for this edge - items: - $ref: '#/components/schemas/Attribute' - nullable: true - title: attributes - type: array - qualifiers: - description: A set of Qualifiers that act together to add nuance or detail - to the statement expressed in an Edge. - items: - $ref: '#/components/schemas/Qualifier' - nullable: true - title: qualifiers - type: array - sources: - description: A list of RetrievalSource objects that provide information - about how a particular Information Resource served as a source from which - the knowledge expressed in an Edge, or data used to generate this knowledge, - was retrieved. - items: - $ref: '#/components/schemas/RetrievalSource' - minItems: 1 - nullable: false - title: sources - type: array - required: - - object - - predicate - - sources - - subject - title: Edge - type: object - Qualifier: - additionalProperties: false - description: An additional nuance attached to an assertion - properties: - qualifier_type_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - qualifier_value: - description: The value associated with the type of the qualifier, drawn - from a set of controlled values by the type as specified in the Biolink - model (e.g. 'expression' or 'abundance' for the qualifier type 'biolink:subject_aspect_qualifier', - etc). The enumeration of qualifier values for a given qualifier type is - generally going to be constrained by the category of edge (i.e. biolink:Association - subtype) of the (Q)Edge. - example: expression - nullable: false - title: qualifier_value - type: string - required: - - qualifier_type_id - - qualifier_value - title: Qualifier - type: object - QualifierConstraint: - additionalProperties: false - description: Defines a query constraint based on the qualifier_types and qualifier_values - of a set of Qualifiers attached to an edge. For example, it can constrain - a "ChemicalX - affects - ?Gene" query to return only edges where ChemicalX - specifically affects the 'expression' of the Gene, by constraining on the - qualifier_type "biolink:object_aspect_qualifier" with a qualifier_value of - "expression". - properties: - qualifier_set: - description: A set of Qualifiers that serves to add nuance to a query, by - constraining allowed values held by Qualifiers on queried Edges. - items: - $ref: '#/components/schemas/Qualifier' - nullable: false - title: qualifier_set - type: array - required: - - qualifier_set - title: QualifierConstraint - type: object - BiolinkEntity: - description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing or - a child thereof. The CURIE must use the prefix 'biolink:' followed by the - PascalCase class name. - example: biolink:PhenotypicFeature - externalDocs: - description: Biolink model entities - url: https://biolink.github.io/biolink-model/docs/NamedThing.html - pattern: ^biolink:[A-Z][a-zA-Z]*$ - title: BiolinkEntity - type: string - BiolinkPredicate: - description: CURIE for a Biolink 'predicate' slot, taken from the Biolink slot - ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate - defines the Biolink relationship between the subject and object nodes of a - biolink:Association defining a knowledge graph edge. - example: biolink:interacts_with - externalDocs: - description: Biolink model predicates - url: https://biolink.github.io/biolink-model/docs/related_to.html - pattern: ^biolink:[a-z][a-z_]*$ - title: BiolinkPredicate - type: string - CURIE: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - MetaKnowledgeGraph: - description: Knowledge-map representation of this TRAPI web service. The meta - knowledge graph is composed of the union of most specific categories and predicates - for each node and edge. - example: - nodes: - key: - id_prefixes: - - CHEMBL.COMPOUND - - INCHIKEY - attributes: - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - edges: - - predicate: biolink:interacts_with - knowledge_types: - - knowledge_types - - knowledge_types - subject: biolink:PhenotypicFeature - qualifiers: - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - association: biolink:PhenotypicFeature - attributes: - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - object: biolink:PhenotypicFeature - - predicate: biolink:interacts_with - knowledge_types: - - knowledge_types - - knowledge_types - subject: biolink:PhenotypicFeature - qualifiers: - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - association: biolink:PhenotypicFeature - attributes: - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - object: biolink:PhenotypicFeature - properties: - nodes: - additionalProperties: - $ref: '#/components/schemas/MetaNode' - description: Collection of the most specific node categories provided by - this TRAPI web service, indexed by Biolink class CURIEs. A node category - is only exposed here if there is node for which that is the most specific - category available. - title: nodes - type: object - edges: - description: List of the most specific edges/predicates provided by this - TRAPI web service. A predicate is only exposed here if there is an edge - for which the predicate is the most specific available. - items: - $ref: '#/components/schemas/MetaEdge' - title: edges - type: array - required: - - edges - - nodes - title: MetaKnowledgeGraph - type: object - MetaNode: - additionalProperties: false - description: Description of a node category provided by this TRAPI web service. - example: - id_prefixes: - - CHEMBL.COMPOUND - - INCHIKEY - attributes: - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - properties: - id_prefixes: - description: List of CURIE prefixes for the node category that this TRAPI - web service understands and accepts on the input. - example: - - CHEMBL.COMPOUND - - INCHIKEY - items: - type: string - minItems: 1 - title: id_prefixes - type: array - attributes: - description: Node attributes provided by this TRAPI web service. - items: - $ref: '#/components/schemas/MetaAttribute' - nullable: true - title: attributes - type: array - required: - - id_prefixes - title: MetaNode - type: object - MetaEdge: - additionalProperties: false - description: Edge in a meta knowledge map describing relationship between a - subject Biolink class and an object Biolink class. - example: - predicate: biolink:interacts_with - knowledge_types: - - knowledge_types - - knowledge_types - subject: biolink:PhenotypicFeature - qualifiers: - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - association: biolink:PhenotypicFeature - attributes: - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - object: biolink:PhenotypicFeature - properties: - subject: - description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing - or a child thereof. The CURIE must use the prefix 'biolink:' followed - by the PascalCase class name. - example: biolink:PhenotypicFeature - externalDocs: - description: Biolink model entities - url: https://biolink.github.io/biolink-model/docs/NamedThing.html - pattern: ^biolink:[A-Z][a-zA-Z]*$ - title: BiolinkEntity - type: string - predicate: - description: CURIE for a Biolink 'predicate' slot, taken from the Biolink - slot ('is_a') hierarchy rooted in biolink:related_to (snake_case). This - predicate defines the Biolink relationship between the subject and object - nodes of a biolink:Association defining a knowledge graph edge. - example: biolink:interacts_with - externalDocs: - description: Biolink model predicates - url: https://biolink.github.io/biolink-model/docs/related_to.html - pattern: ^biolink:[a-z][a-z_]*$ - title: BiolinkPredicate - type: string - object: - description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing - or a child thereof. The CURIE must use the prefix 'biolink:' followed - by the PascalCase class name. - example: biolink:PhenotypicFeature - externalDocs: - description: Biolink model entities - url: https://biolink.github.io/biolink-model/docs/NamedThing.html - pattern: ^biolink:[A-Z][a-zA-Z]*$ - title: BiolinkEntity - type: string - knowledge_types: - description: A list of knowledge_types that are supported by the service. - If the knowledge_types is null, this means that only 'lookup' is supported. - Currently allowed values are 'lookup' or 'inferred'. - items: - type: string - minItems: 1 - nullable: true - title: knowledge_types - type: array - attributes: - description: Edge attributes provided by this TRAPI web service. - items: - $ref: '#/components/schemas/MetaAttribute' - nullable: true - title: attributes - type: array - qualifiers: - description: Qualifiers that are possible to be found on this edge type. - items: - $ref: '#/components/schemas/MetaQualifier' - nullable: true - title: qualifiers - type: array - association: - description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing - or a child thereof. The CURIE must use the prefix 'biolink:' followed - by the PascalCase class name. - example: biolink:PhenotypicFeature - externalDocs: - description: Biolink model entities - url: https://biolink.github.io/biolink-model/docs/NamedThing.html - pattern: ^biolink:[A-Z][a-zA-Z]*$ - title: BiolinkEntity - type: string - required: - - object - - predicate - - subject - title: MetaEdge - type: object - MetaQualifier: - example: - applicable_values: - - '["expression","activity","abundance","degradation"]' - - '["expression","activity","abundance","degradation"]' - qualifier_type_id: qualifier_type_id - properties: - qualifier_type_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - applicable_values: - description: The list of values that are possible for this qualifier. - items: - example: '["expression","activity","abundance","degradation"]' - type: string - title: applicable_values - type: array - required: - - qualifier_type_id - title: MetaQualifier - type: object - MetaAttribute: - example: - attribute_source: infores:chembl - original_attribute_names: - - original_attribute_names - - original_attribute_names - constraint_name: p-value - attribute_type_id: attribute_type_id - constraint_use: false - properties: - attribute_type_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - attribute_source: - description: Source of an attribute provided by this TRAPI web service. - example: infores:chembl - nullable: true - title: attribute_source - type: string - original_attribute_names: - description: Names of an the attribute as provided by the source. - items: - type: string - minItems: 1 - nullable: true - title: original_attribute_names - type: array - constraint_use: - default: false - description: Indicates whether this attribute can be used as a query constraint. - title: constraint_use - type: boolean - constraint_name: - description: Human-readable name or label for the constraint concept. Required - whenever constraint_use is true. - example: p-value - nullable: true - title: constraint_name - type: string - required: - - attribute_type_id - title: MetaAttribute - type: object - AttributeConstraint: - additionalProperties: false - description: Generic query constraint for a query node or query edge - properties: - id: - description: CURIE of the concept being constrained. For properties defined - by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible, - from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive - phrase here and submit the new type for consideration by the appropriate - authority. - example: EDAM:data_0844 - oneOf: - - $ref: '#/components/schemas/CURIE' - title: id - name: - description: Human-readable name or label for the constraint concept. If - appropriate, it SHOULD be the term name of the CURIE used as the 'id'. - This is redundant but required for human readability. - example: molecular mass - title: name - type: string - not: - default: false - title: not - type: boolean - operator: - description: Relationship between the database value and the constraint - value for the specified id. The operators ==, >, and < mean is equal to, - is greater than, and is less than, respectively. The 'matches' operator - indicates that the value is a regular expression to be evaluated. If value - is a list type, then at least one evaluation must be true (equivalent - to OR). This means that the == operator with a list acts like a SQL 'IN' - clause. If the value of the compared attribute is a list, then comparisons - are performed between each of the constraint values and each of the attribute - values, and any one true evaluation counts as an overall true (e.g., [1,2,3] - == [6,7,2] is true). The == operator is therefore a broad interpretation - of inclusion. The '===' operator requires that the constraint value and - the attribute value be the same data type, length, content, and order - (e.g. only [1,2,3] === [1,2,3]). The 'not' property negates the operator - such that not and == means 'not equal to' (or 'not in' for a list), and - not > means <=, and not < means >=, not matches means does not match, - and not === means the match between the constraint and attribute values - are not exact. The '==' operator SHOULD NOT be used in a manner that describes - an "is a" subclass relationship for the parent QNode. - enum: - - == - - '>' - - < - - matches - - === - title: operator - type: string - value: - description: Value of the attribute. May be any data type, including a list. - If the value is a list and there are multiple items, at least one comparison - must be true (equivalent to OR) unless the '===' operator is used. If - 'value' is of data type 'object', the keys of the object MAY be treated - as a list. A 'list' data type paired with the '>' or '<' operators will - encode extraneous comparisons, but this is permitted as it is in SQL and - other languages. - example: 57.0 - title: value - unit_id: - description: CURIE of the units of the value or list of values in the 'value' - property. The Units of Measurement Ontology (UO) should be used if possible. - The unit_id MUST be provided for (lists of) numerical values that correspond - to a quantity that has units. - example: UO:0000222 - nullable: true - title: unit_id - unit_name: - description: Term name that is associated with the CURIE of the units of - the value or list of values in the 'value' property. The Units of Measurement - Ontology (UO) SHOULD be used if possible. This property SHOULD be provided - if a unit_id is provided. This is redundant but recommended for human - readability. - example: kilodalton - nullable: true - title: unit_name - required: - - id - - name - - operator - - value - title: AttributeConstraint - type: object - RetrievalSource: - additionalProperties: true - description: Provides information about how a particular InformationResource - served as a source from which knowledge expressed in an Edge, or data used - to generate this knowledge, was retrieved. - properties: - resource_id: - description: A Compact URI, consisting of a prefix and a reference separated - by a colon, such as UniProtKB:P00738. Via an external context definition, - the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/, - to form a full URI. - externalDocs: - url: https://www.w3.org/TR/2010/NOTE-curie-20101216/ - title: CURIE - type: string - resource_role: - $ref: '#/components/schemas/ResourceRoleEnum' - upstream_resource_ids: - description: An upstream InformationResource from which the resource being - described directly retrieved a record of the knowledge expressed in the - Edge, or data used to generate this knowledge. This is an array because - there are cases where a merged Edge holds knowledge that was retrieved - from multiple sources. e.g. an Edge provided by the ARAGORN ARA can expressing - knowledge it retrieved from both the automat-mychem-info and molepro KPs, - which both provided it with records of this single fact. - example: - - infores:automat-mychem-info - - infores:molepro - items: - $ref: '#/components/schemas/CURIE' - type: array - source_record_urls: - description: 'A URL linking to a specific web page or document provided - by the source, that contains a record of the knowledge expressed in the Edge. - If the knowledge is contained in more than one web page on an Information - Resource''s site, urls MAY be provided for each. For example, Therapeutic - Targets Database (TTD) has separate web pages for ''Imatinib'' and its - protein target KIT, both of which hold the claim that ''the KIT protein - is a therapeutic target for Imatinib''. ' - example: '[https://db.idrblab.net/ttd/data/drug/details/d0az3c, https://db.idrblab.net/ttd/data/target/details/t57700]' - items: - type: string - type: array - required: - - resource_id - - resource_role - title: RetrievalSource - type: object - ResourceRoleEnum: - description: The role played by the InformationResource in serving as a source - for an Edge. Note that a given Edge should have one and only one 'primary' - source, and may have any number of 'aggregator' or 'supporting data' sources. This - enumeration is found in Biolink Model, but is repeated here for convenience. - enum: - - primary_knowledge_source - - aggregator_knowledge_source - - supporting_data_source - title: ResourceRoleEnum - type: string - Operations: - additionalProperties: true - description: Container for one or more Message objects or identifiers for one - or more Messages along with a processing plan and options for how those messages - should be processed and returned - nullable: true - properties: - message_uris: - description: List of URIs for Message or Response objects to fetch and process - example: - - https://arax.ncats.io/api/arax/v1.3/response/38 - items: - type: string - type: array - messages: - description: List of Message objects to process - items: - $ref: '#/components/schemas/Message' - type: array - actions: - description: List of order-dependent operations to execute - example: - - add_qnode(name=acetaminophen, key=n00) - - add_qnode(category=biolink:Protein, key=n01) - - add_qedge(subject=n01, object=n00, key=e00) - - expand(edge_key=e00) - - resultify() - - filter_results(action=limit_number_of_results, max_results=10) - items: - type: string - type: array - options: - additionalProperties: true - description: Map of order independent options that apply during processing - example: - halt_on_warning: false - type: object - type: object - EntityQuery: - example: - terms: - - terms - - terms - format: format - properties: - terms: - description: List of term strings to search for - items: - type: string - title: terms - type: array - format: - description: Format of the response (full or compact) - title: format - type: string - title: EntityQuery - type: object - OperationLookup: - additionalProperties: false - properties: - id: - enum: - - lookup - type: string - parameters: {} - required: - - id - type: object diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/__init__.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/__init__.py deleted file mode 100644 index 364aba9fb..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -import logging - -import connexion -from flask_testing import TestCase - -from openapi_server.encoder import JSONEncoder - - -class BaseTestCase(TestCase): - - def create_app(self): - logging.getLogger('connexion.operation').setLevel('ERROR') - app = connexion.App(__name__, specification_dir='../openapi/') - app.app.json_encoder = JSONEncoder - app.add_api('openapi.yaml', pythonic_params=True) - return app.app diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_entity_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_entity_controller.py deleted file mode 100644 index e780d02dc..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_entity_controller.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -import unittest - -from flask import json -from six import BytesIO - -from openapi_server.test import BaseTestCase - - -class TestEntityController(BaseTestCase): - """EntityController integration test stubs""" - - def test_get_entity(self): - """Test case for get_entity - - Obtain CURIE and synonym information about a search term - """ - query_string = [('q', ["MESH:D014867","NCIT:C34373"])] - headers = { - 'Accept': 'application/json', - } - response = self.client.open( - '/api/rtxkg2/v1.0/entity', - method='GET', - headers=headers, - query_string=query_string) - self.assert200(response, - 'Response body is : ' + response.data.decode('utf-8')) - - -if __name__ == '__main__': - unittest.main() diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_predicates_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_predicates_controller.py deleted file mode 100644 index e3b742ec3..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_predicates_controller.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -import unittest - -from flask import json -from six import BytesIO - -from openapi_server.test import BaseTestCase - - -class TestPredicatesController(BaseTestCase): - """PredicatesController integration test stubs""" - - def test_predicates(self): - """Test case for predicates - - Get supported relationships by source and target - """ - headers = { - 'Accept': 'application/json', - } - response = self.client.open( - '/api/rtxkg2/v1.0/predicates', - method='GET', - headers=headers) - self.assert200(response, - 'Response body is : ' + response.data.decode('utf-8')) - - -if __name__ == '__main__': - unittest.main() diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_query_controller.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_query_controller.py deleted file mode 100644 index 72385f11d..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/test/test_query_controller.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding: utf-8 - -from __future__ import absolute_import -import unittest - -from flask import json -from six import BytesIO - -from openapi_server.models.response import Response # noqa: E501 -from openapi_server.test import BaseTestCase - - -class TestQueryController(BaseTestCase): - """QueryController integration test stubs""" - - def test_query(self): - """Test case for query - - Query reasoner via one of several inputs - """ - request_body = None - query_string = [('bypass_cache', False)] - headers = { - 'Accept': 'application/json', - 'Content-Type': 'application/json', - } - response = self.client.open( - '/api/rtxkg2/v1.0/query', - method='POST', - headers=headers, - data=json.dumps(request_body), - content_type='application/json', - query_string=query_string) - self.assert200(response, - 'Response body is : ' + response.data.decode('utf-8')) - - -if __name__ == '__main__': - unittest.main() diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/typing_utils.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/typing_utils.py deleted file mode 100644 index 0563f81fd..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/typing_utils.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding: utf-8 - -import sys - -if sys.version_info < (3, 7): - import typing - - def is_generic(klass): - """ Determine whether klass is a generic class """ - return type(klass) == typing.GenericMeta - - def is_dict(klass): - """ Determine whether klass is a Dict """ - return klass.__extra__ == dict - - def is_list(klass): - """ Determine whether klass is a List """ - return klass.__extra__ == list - -else: - - def is_generic(klass): - """ Determine whether klass is a generic class """ - return hasattr(klass, '__origin__') - - def is_dict(klass): - """ Determine whether klass is a Dict """ - return klass.__origin__ == dict - - def is_list(klass): - """ Determine whether klass is a List """ - return klass.__origin__ == list diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py deleted file mode 100644 index 2a63f2109..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py +++ /dev/null @@ -1,148 +0,0 @@ -import datetime - -import six -import typing -from openapi_server import typing_utils - - -def _deserialize(data, klass): - """Deserializes dict, list, str into an object. - - :param data: dict, list or str. - :param klass: class literal, or string of class name. - - :return: object. - """ - if data is None: - return None - - if klass in six.integer_types or klass in (float, str, bool, bytearray): - return _deserialize_primitive(data, klass) - elif klass == object: - return _deserialize_object(data) - elif klass == datetime.date: - return deserialize_date(data) - elif klass == datetime.datetime: - return deserialize_datetime(data) - elif typing_utils.is_generic(klass): - if typing_utils.is_list(klass): - return _deserialize_list(data, klass.__args__[0]) - if typing_utils.is_dict(klass): - return _deserialize_dict(data, klass.__args__[1]) - else: - return deserialize_model(data, klass) - - -def _deserialize_primitive(data, klass): - """Deserializes to primitive type. - - :param data: data to deserialize. - :param klass: class literal. - - :return: int, long, float, str, bool. - :rtype: int | long | float | str | bool - """ - try: - value = klass(data) - except UnicodeEncodeError: - value = six.u(data) - except TypeError: - value = data - return value - - -def _deserialize_object(value): - """Return an original value. - - :return: object. - """ - return value - - -def deserialize_date(string): - """Deserializes string to date. - - :param string: str. - :type string: str - :return: date. - :rtype: date - """ - if string is None: - return None - - try: - from dateutil.parser import parse - return parse(string).date() - except ImportError: - return string - - -def deserialize_datetime(string): - """Deserializes string to datetime. - - The string should be in iso8601 datetime format. - - :param string: str. - :type string: str - :return: datetime. - :rtype: datetime - """ - if string is None: - return None - - try: - from dateutil.parser import parse - return parse(string) - except ImportError: - return string - - -def deserialize_model(data, klass): - """Deserializes list or dict to model. - - :param data: dict, list. - :type data: dict | list - :param klass: class literal. - :return: model object. - """ - instance = klass() - - if not instance.openapi_types: - return data - - for attr, attr_type in six.iteritems(instance.openapi_types): - if data is not None \ - and instance.attribute_map[attr] in data \ - and isinstance(data, (list, dict)): - value = data[instance.attribute_map[attr]] - setattr(instance, attr, _deserialize(value, attr_type)) - - return instance - - -def _deserialize_list(data, boxed_type): - """Deserializes a list and its elements. - - :param data: list to deserialize. - :type data: list - :param boxed_type: class literal. - - :return: deserialized list. - :rtype: list - """ - return [_deserialize(sub_data, boxed_type) - for sub_data in data] - - -def _deserialize_dict(data, boxed_type): - """Deserializes a dict and its elements. - - :param data: dict to deserialize. - :type data: dict - :param boxed_type: class literal. - - :return: deserialized dict. - :rtype: dict - """ - return {k: _deserialize(v, boxed_type) - for k, v in six.iteritems(data)} diff --git a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py-debugging b/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py-debugging deleted file mode 100644 index 0d30d0c11..000000000 --- a/code/UI/OpenAPI/python-flask-server/KG2/openapi_server/util.py-debugging +++ /dev/null @@ -1,154 +0,0 @@ -import datetime -import sys - -import six -import typing -from openapi_server import typing_utils - - -def _deserialize(data, klass): - """Deserializes dict, list, str into an object. - - :param data: dict, list or str. - :param klass: class literal, or string of class name. - - :return: object. - """ - if data is None: - return None - - print(f"data is {data} and klass is {klass}", file=sys.stderr, flush=True) - - if klass in six.integer_types or klass in (float, str, bool, bytearray): - return _deserialize_primitive(data, klass) - elif klass == object: - return _deserialize_object(data) -# elif klass == list: -# print(f"Calling _deserialize_list with {data} and {klass.__args__[0]}", file=sys.stderr, flush=True) - return _deserialize_list(data) - elif klass == datetime.date: - return deserialize_date(data) - elif klass == datetime.datetime: - return deserialize_datetime(data) - elif typing_utils.is_generic(klass): - if typing_utils.is_list(klass): - return _deserialize_list(data, klass.__args__[0]) - if typing_utils.is_dict(klass): - return _deserialize_dict(data, klass.__args__[1]) - else: - print(f"Calling _deserialize_model with {data} and {klass}", file=sys.stderr, flush=True) - return deserialize_model(data, klass) - - -def _deserialize_primitive(data, klass): - """Deserializes to primitive type. - - :param data: data to deserialize. - :param klass: class literal. - - :return: int, long, float, str, bool. - :rtype: int | long | float | str | bool - """ - try: - value = klass(data) - except UnicodeEncodeError: - value = six.u(data) - except TypeError: - value = data - return value - - -def _deserialize_object(value): - """Return an original value. - - :return: object. - """ - return value - - -def deserialize_date(string): - """Deserializes string to date. - - :param string: str. - :type string: str - :return: date. - :rtype: date - """ - try: - from dateutil.parser import parse - return parse(string).date() - except ImportError: - return string - - -def deserialize_datetime(string): - """Deserializes string to datetime. - - The string should be in iso8601 datetime format. - - :param string: str. - :type string: str - :return: datetime. - :rtype: datetime - """ - try: - from dateutil.parser import parse - return parse(string) - except ImportError: - return string - - -def deserialize_model(data, klass): - """Deserializes list or dict to model. - - :param data: dict, list. - :type data: dict | list - :param klass: class literal. - :return: model object. - """ - instance = klass() - print(f"Here 1 klass={klass} and instance {instance}", file=sys.stderr, flush=True) - if isinstance(instance,list): - print(f"Here 2 returning {data}", file=sys.stderr, flush=True) - return data - - - if not instance.openapi_types: - return data - - for attr, attr_type in six.iteritems(instance.openapi_types): - if data is not None \ - and instance.attribute_map[attr] in data \ - and isinstance(data, (list, dict)): - value = data[instance.attribute_map[attr]] - setattr(instance, attr, _deserialize(value, attr_type)) - - return instance - - -def _deserialize_list(data, boxed_type): - """Deserializes a list and its elements. - - :param data: list to deserialize. - :type data: list - :param boxed_type: class literal. - - :return: deserialized list. - :rtype: list - """ - return [_deserialize(sub_data, boxed_type) - for sub_data in data] - - -def _deserialize_dict(data, boxed_type): - """Deserializes a dict and its elements. - - :param data: dict to deserialize. - :type data: dict - :param boxed_type: class literal. - - :return: deserialized dict. - :rtype: dict - """ - return {k: _deserialize(v, boxed_type) - for k, v in six.iteritems(data)} diff --git a/code/UI/OpenAPI/python-flask-server/RTX_OpenAPI.start b/code/UI/OpenAPI/python-flask-server/RTX_OpenAPI.start index 283fd67a7..d833c5d5c 100755 --- a/code/UI/OpenAPI/python-flask-server/RTX_OpenAPI.start +++ b/code/UI/OpenAPI/python-flask-server/RTX_OpenAPI.start @@ -17,7 +17,7 @@ fi cd /mnt/data/orangeboard/$DEVAREA/RTX/code/UI/OpenAPI/python-flask-server -export PATH=/mnt/data/python/Python-3.9.16/bin:$PATH +export PATH=/mnt/data/python/Python-3.9.18/bin:$PATH exec python3 -u -m openapi_server 1>$LOGFILE 2>$ELOGFILE diff --git a/code/UI/OpenAPI/python-flask-server/openapi_server/__main__.py b/code/UI/OpenAPI/python-flask-server/openapi_server/__main__.py index f53d7d02d..95ed4747c 100644 --- a/code/UI/OpenAPI/python-flask-server/openapi_server/__main__.py +++ b/code/UI/OpenAPI/python-flask-server/openapi_server/__main__.py @@ -14,7 +14,7 @@ from opentelemetry import trace from opentelemetry.trace.span import Span from opentelemetry.sdk.trace import TracerProvider -from opentelemetry.sdk.trace.export import BatchSpanProcessor +from opentelemetry.sdk.trace.export import SimpleSpanProcessor from opentelemetry.exporter.jaeger.thrift import JaegerExporter from opentelemetry.semconv.resource import ResourceAttributes from opentelemetry.sdk.resources import SERVICE_NAME as telemetery_service_name_key, Resource @@ -48,18 +48,20 @@ def instrument(app, host, port): }) )) trace.get_tracer_provider().add_span_processor( - BatchSpanProcessor( + SimpleSpanProcessor( JaegerExporter( agent_host_name=host, agent_port=port ) ) ) - tracer_provider = trace.get_tracer_provider() - tracer_provider.get_tracer(__name__) - FlaskInstrumentor().instrument_app(app=app.app) - RequestsInstrumentor().instrument() - AioHttpClientInstrumentor().instrument() + # tracer_provider = trace.get_tracer_provider() + # tracer_provider.get_tracer(__name__) + tracer_provider = trace.get_tracer(__name__) + + FlaskInstrumentor().instrument_app(app=app.app, tracer_provider=trace) + RequestsInstrumentor().instrument(tracer_provider=trace) + AioHttpClientInstrumentor().instrument(tracer_provider=trace) diff --git a/code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml b/code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml index d9adc70bd..f33b9df16 100644 --- a/code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml +++ b/code/UI/OpenAPI/python-flask-server/openapi_server/openapi/openapi.yaml @@ -9,7 +9,7 @@ info: url: http://www.apache.org/licenses/LICENSE-2.0.html termsOfService: https://github.com/RTXteam/RTX/blob/master/LICENSE title: ARAX Translator Reasoner - TRAPI 1.5.0 - version: 1.5.3 + version: 1.5.4 x-translator: component: ARA team: @@ -562,14 +562,10 @@ components: a log level could allow a user to override the default log level in order to receive more fine-grained log information when debugging an issue. example: - submitter: submitter + submitter: TryItOutExample bypass_cache: false page_number: 1 - operations: "" - workflow: - - "" - - "" - log_level: "" + log_level: "DEBUG" enforce_edge_directionality: false return_minimal_metadata: false max_results: 100 diff --git a/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml b/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml index 5d7f57b49..e5411707f 100644 --- a/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml +++ b/code/UI/OpenAPI/specifications/export/ARAX/1.5.0/openapi.yaml @@ -15,7 +15,7 @@ info: team: - Expander Agent infores: infores:arax - biolink-version: 4.2.0 + biolink-version: 4.2.1 externalDocs: description: The values for component and team are restricted according to this external JSON schema. See schema and examples at url diff --git a/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml b/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml index 00babae7c..f65129444 100644 --- a/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml +++ b/code/UI/OpenAPI/specifications/export/KG2/1.5.0/openapi.yaml @@ -9,13 +9,13 @@ info: url: http://www.apache.org/licenses/LICENSE-2.0.html termsOfService: https://github.com/RTXteam/RTX/blob/master/LICENSE title: RTX KG2 - TRAPI 1.5.0 - version: 2.10.0 + version: 2.10.1 x-translator: component: KP team: - Expander Agent infores: infores:rtx-kg2 - biolink-version: 4.2.0 + biolink-version: 4.2.1 externalDocs: description: The values for component and team are restricted according to this external JSON schema. See schema and examples at url @@ -42,16 +42,16 @@ externalDocs: url: https://github.com/NCATSTranslator/ReasonerAPI servers: - description: RTX-KG2 TRAPI 1.5 endpoint - production - url: https://kg2.transltr.io/api/rtxkg2/v1.4 + url: https://kg2cploverdb.transltr.io x-maturity: production - description: RTX-KG2 TRAPI 1.5 endpoint - testing - url: https://kg2.test.transltr.io/api/rtxkg2/v1.4 + url: https://kg2cploverdb.test.transltr.io x-maturity: testing - description: RTX-KG2 TRAPI 1.5 endpoint - staging - url: https://kg2.ci.transltr.io/api/rtxkg2/v1.4 + url: https://kg2cploverdb.ci.transltr.io x-maturity: staging - description: RTX-KG2 TRAPI 1.5 endpoint - development - url: https://arax.ncats.io/beta/api/rtxkg2/v1.4 + url: https://kg2cploverdb.ci.transltr.io x-maturity: development tags: - description: Retrieve the meta knowledge graph representation of this TRAPI web diff --git a/code/UI/interactive/araxi.js b/code/UI/interactive/araxi.js index 178da2f24..c9a9b51e4 100644 --- a/code/UI/interactive/araxi.js +++ b/code/UI/interactive/araxi.js @@ -1,5 +1,5 @@ // WARNING: -// This file was auto-generated by /mnt/data/orangeboard/devLM/RTX/code/UI/interactive/./dsl2json.py on: 2024-07-25 01:50:08 +// This file was auto-generated by /mnt/data/orangeboard/devLM/RTX/code/UI/interactive/./dsl2json.py on: 2024-11-01 01:58:59 // var araxi_commands = { "add_qedge()": { @@ -208,7 +208,7 @@ var araxi_commands = { "description": "Whether to omit supporting data on nodes/edges in the results (e.g., publications, description, etc.)." } }, - "description": "This command will expand (aka, answer/fill) your query graph in an edge-by-edge fashion, intelligently selecting which KPs to use for each edge. It selects KPs from the SmartAPI Registry based on the meta information provided by their TRAPI APIs, whether they have an endpoint running a matching TRAPI version, and whether they have an endpoint with matching maturity. For each QEdge, it queries the selected KPs concurrently; it will timeout for a particular KP if it decides it's taking too long to respond (this KP timeout can be controlled by the user). You may also optionally specify a particular KP to use via the 'kp' parameter (described below).\n\nCurrent candidate KPs include (for TRAPI 1.5, maturity 'development'): \ninfores:answer-coalesce, infores:automat-binding-db, infores:automat-cam-kp, infores:automat-ctd, infores:automat-drug-central, infores:automat-genome-alliance, infores:automat-gtex, infores:automat-gtopdb, infores:automat-gwas-catalog, infores:automat-hetionet, infores:automat-hgnc, infores:automat-hmdb, infores:automat-human-goa, infores:automat-icees-kg, infores:automat-intact, infores:automat-monarchinitiative, infores:automat-panther, infores:automat-pharos, infores:automat-reactome, infores:automat-robokop, infores:automat-string-db, infores:automat-ubergraph, infores:automat-viral-proteome, infores:cohd, infores:connections-hypothesis, infores:gelinea, infores:genetics-data-provider, infores:knowledge-collaboratory, infores:molepro, infores:openpredict, infores:rtx-kg2, infores:service-provider-trapi, infores:spoke. \n\n(Note that this list of KPs may change unexpectedly based on the SmartAPI registry.)" + "description": "This command will expand (aka, answer/fill) your query graph in an edge-by-edge fashion, intelligently selecting which KPs to use for each edge. It selects KPs from the SmartAPI Registry based on the meta information provided by their TRAPI APIs, whether they have an endpoint running a matching TRAPI version, and whether they have an endpoint with matching maturity. For each QEdge, it queries the selected KPs concurrently; it will timeout for a particular KP if it decides it's taking too long to respond (this KP timeout can be controlled by the user). You may also optionally specify a particular KP to use via the 'kp' parameter (described below).\n\nCurrent candidate KPs include (for TRAPI 1.5, maturity 'development'): \ninfores:answer-coalesce, infores:automat-binding-db, infores:automat-cam-kp, infores:automat-ctd, infores:automat-drug-central, infores:automat-ehr-clinical-connections-kp, infores:automat-ehr-may-treat-kp, infores:automat-genome-alliance, infores:automat-gtex, infores:automat-gtopdb, infores:automat-gwas-catalog, infores:automat-hetionet, infores:automat-hgnc, infores:automat-hmdb, infores:automat-human-goa, infores:automat-icees-kg, infores:automat-intact, infores:automat-monarchinitiative, infores:automat-panther, infores:automat-pharos, infores:automat-reactome, infores:automat-robokop, infores:automat-string-db, infores:automat-ubergraph, infores:automat-viral-proteome, infores:cohd, infores:connections-hypothesis, infores:gelinea, infores:genetics-data-provider, infores:knowledge-collaboratory, infores:molepro, infores:multiomics-clinicaltrials, infores:multiomics-drugapprovals, infores:multiomics-microbiome, infores:multiomics-multiomics, infores:openpredict, infores:rtx-kg2, infores:service-provider-trapi, infores:spoke. \n\n(Note that this list of KPs may change unexpectedly based on the SmartAPI registry.)" }, "overlay(action=add_node_pmids)": { "parameters": { @@ -1360,32 +1360,10 @@ var araxi_commands = { "min": 1, "max": 5, "type": "integer", - "description": "The maximum edges to connect two nodes with. If not provided defaults to 2." - }, - "qnode_keys": { - "is_required": true, - "examples": [ - [ - "n01", - "n02" - ], - [] - ], - "type": "list", - "description": "List with just two qnode keys to connect. example: [n1, n2]" - }, - "result_as": { - "is_required": false, - "examples": [ - "betweenness_centrality", - "all_in_one", - "one_by_one" - ], - "type": "string", - "description": "It determines how to receive the results. For instance, one_by_one means that it will return each path in one subgraph. The default value is betweenness_centrality" + "description": "The maximum edges to connect two nodes with. If not provided defaults to 4." } }, - "description": "\nconnect_nodes adds paths between two nodes specified in the query.\n " + "description": "connect_nodes adds paths between two nodes specified in the query." }, "infer(action=chemical_gene_regulation_graph_expansion)": { "parameters": { @@ -1435,7 +1413,7 @@ var araxi_commands = { "qedge_id_3" ], "type": "string", - "description": "The id of the qedge you wish to perform the drug treatment/chemical regulation inference expansion." + "description": "The id of the qedge you wish to perform the chemical-gene regulation inference expansion." }, "threshold": { "is_required": false, @@ -1506,7 +1484,17 @@ var araxi_commands = { }, "infer(action=drug_treatment_graph_expansion)": { "parameters": { - "node_curie": { + "drug_curie": { + "is_required": true, + "examples": [ + "CHEMBL.COMPOUND:CHEMBL55643", + "CHEBI:8378", + "RXNORM:1011" + ], + "type": "string", + "description": "The CURIE for a drug node used to predict what potential diseases it may treat." + }, + "disease_curie": { "is_required": true, "examples": [ "DOID:9352", @@ -1514,7 +1502,7 @@ var araxi_commands = { "HP:0001945" ], "type": "string", - "description": "The curie for the node you wish to predict drugs which will treat." + "description": "The CURIE for a disease node used to predict what potential drugs can potentially treat it." }, "qedge_id": { "is_required": false, @@ -1524,7 +1512,7 @@ var araxi_commands = { "qedge_id_3" ], "type": "string", - "description": "The id of the qedge you wish to perform the drug treatment/chemical regulation inference expansion." + "description": "The id of the qedge you wish to perform the drug-disease treatment inference expansion." }, "n_drugs": { "is_required": false, @@ -1535,7 +1523,18 @@ var araxi_commands = { ], "default": 50, "type": "integer", - "description": "The number of drug nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of drugs returned is only allowed to be 50." + "description": "Given an interested disease CURIE, the number of drug nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of drugs returned is only allowed to be 50." + }, + "n_diseases": { + "is_required": false, + "examples": [ + 5, + 15, + 25 + ], + "default": 50, + "type": "integer", + "description": "Given an interested drug CURIE, The number of disease nodes to return. If not provided defaults to 50. Considering the response speed, the maximum number of diseases returned is only allowed to be 50." }, "n_paths": { "is_required": false, diff --git a/code/UI/interactive/dsl2json.py b/code/UI/interactive/dsl2json.py index ecca50a5f..771880765 100755 --- a/code/UI/interactive/dsl2json.py +++ b/code/UI/interactive/dsl2json.py @@ -1,3 +1,4 @@ +#!/mnt/data/python/Python-3.9.18/bin/python3 import datetime import importlib import json diff --git a/code/UI/interactive/index.html b/code/UI/interactive/index.html index 93ffa494d..b92b41ef7 100644 --- a/code/UI/interactive/index.html +++ b/code/UI/interactive/index.html @@ -4,7 +4,7 @@ ARAX User Interface - + @@ -14,7 +14,7 @@ - + @@ -465,6 +465,14 @@

Synonym Lookup:

+
+ +
@@ -520,59 +528,102 @@

Synonym Lookup:

API Settings
-
-

REMOTE API TIMEOUT DURING ARAX EXPANSION (leave blank for default):

- - seconds - -

-

DEFAULT PRUNING THRESHOLD DURING ARAX EXPANSION:

- - nodes - -

-

BASE API URL (ARAX):

- - -
-

ARAX QUERY URL:

- - -

-

ARS API (post query):

- - -

-

EXTERNAL API (post query):

- - -
- - - - - - - - - - - - -

+
+ +

REMOTE API TIMEOUT DURING ARAX EXPANSION (leave blank for default):

+ + seconds +
+ + + + + +

DEFAULT PRUNING THRESHOLD DURING ARAX EXPANSION:

+ + nodes +
+ + + + + +

BASE API URL (ARAX):

+ +
+ + + + + +

ARAX QUERY URL:

+ +
+ + + + + +

ARS API (post query):

+ +
+ + + + + +

EXTERNAL API (post query):

+ +
+ + + + + + + + + + + + + + + + + + + +
Session Settings
-
-

MAXIMUM NUMBER OF RESULTS TO DISPLAY (very large values may crash UI):

- - -

-

SUBMITTER (enter a generic name to help track queries):

- - -

+
+ +

MAXIMUM NUMBER OF RESULTS TO DISPLAY (very large values may crash UI):

+ + results +
+ + + + +

MAXIMUM NUMBER OF SYNONYMS TO DISPLAY (values above 1000 may slow down UI):

+ + nodes +
+ + + + + +

SUBMITTER (enter a generic name to help track queries):

+ +
+ + +